es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo iterar a través de un formarray y establecer su valor en otro array en typescript?

Tengo un FormArray dentro de un formulario y el FormArray tiene un parámetro de tipo string llamado “Foo”. Intenté hacer lo siguiente:

let formArray = this.form.get("Foo") as FormArray;
let formArrayValues: {Foo: string}[];  // esto se colocará en el modelo ts para ser enviado.

No estoy seguro de cómo puedo iterar a través del FormArray, obtener el valor “Foo” y colocarlo en mi nuevo arreglo. Intenté lo siguiente:

for (let c of formArray.controls) {
   formArrayValues.push(c.get("Foo"));
}

Pero parece que obtengo un error que dice que “Foo” está ausente en el tipo AbstractControl. Estoy un poco perdido aquí y busqué pero no encontré nada similar. Gracias.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución

    Para iterar a través de un FormArray y obtener los valores de un parámetro específico como “Foo”, puedes usar la propiedad value de cada control en el FormArray.

    Aquí tienes un ejemplo de código para obtener los valores del parámetro “Foo” de un FormArray:

    let formArray = this.form.get("Foo") as FormArray;
    let formArrayValues: { Foo: string }[] = [];
    
    for (let control of formArray.controls) {
       formArrayValues.push({ Foo: control.value.Foo });
    }
    

    Podemos acceder a la propiedad value de un control, que devuelve un objeto que representa el valor del control. En este caso, como tenemos un FormArray de objetos con el parámetro “Foo”, podemos obtener el valor de “Foo” accediendo a la propiedad value.Foo.

    El código anterior itera a través de cada control en el FormArray, obtiene el valor de “Foo” del objeto control y luego agrega el objeto con el valor de “Foo” al array formArrayValues.

    Ten en cuenta que también estamos creando el objeto con la sintaxis { Foo: control.value.Foo }, asegurándonos de que la estructura del objeto coincida con el tipo esperado {Foo: string}.

    Espero que esto te ayude a iterar a través de tu FormArray y obtener los valores del parámetro “Foo”.

Comments are closed.