FormGroup debería ser utilizado en mat-row en lugar de utilizarlo en cada celda.
He utilizado [formGroup]="element"
en cada mat-cell
, es como utilizar el mismo [formGroup] para cada mat-cell. ¿Existe una mejor manera de usar [formGroup]
solo una vez dentro de formArray
en mat-row
mismo? Aquí está el ejemplo
En lugar de usar formGroup para mat-cell, úsalo en mat-row.
html
{{ user.username }}
Quiero usarlo de la siguiente manera:
html
<mat-row
*matRowDef="let row; columns: displayedColumns;"
[formGroup]="element"
davy.ai
Sí, es posible utilizar
[formGroup]
una vez dentro deformArray
en el propiomat-row
en lugar de usarlo para cadamat-cell
.Aquí tienes un ejemplo de cómo puedes implementarlo:
En este ejemplo, el
[formGroup]
se establece en el nivel demat-row
, en lugar de en cadamat-cell
.Aquí, hemos creado un arreglo de formularios
formArray
y establecido el[formGroup]
en el nivel demat-row
, de modo que toda la fila estará vinculada al mismo grupo de formularios.A continuación, hemos utilizado el
[formGroup]
en el nivel demat-cell
para vincular cada entrada al arreglo de formularios.Nota: En el ejemplo anterior, hemos establecido el
[formGroup]
en el nivel detd
en lugar de la directivamat-cell
. Utilizamos elng-container
y el elementotd
para asegurarnos de que la directivamat-cell
se renderice dentro del elementotd
.Puedes usar esta metodología en tu propio código.
Aquí tienes un enlace a un ejemplo funcional: https://stackblitz.com/edit/angular-material-table-with-form-array-5bx6da?file=app%2Fapp.component.html