Я пытаюсь создать динамическую c таблицу, которая будет отображать данные из массива объектов. В таблице есть вход для каждой ячейки для редактирования значений. Но это дает мне ошибку Не удается найти управление с помощью пути: 'переменная -> 0'
У меня есть следующий код
Я добавляю массив формы Dynami c, как этот
this.form.addControl(property, new FormArray(properties));
Формат моего массива такой
[
{
header: 'header1',
value: [FormControl 1, FormControl 2, FormControl 3]
},
{
header: 'header2',
value: [FormControl 1, FormControl 2, FormControl 3]
}
]
<form [formGroup]="form">
<tbody>
<tr *ngFor="let data of properties[0]?.value?.controls; let indx = index">
<td *ngFor="let item of properties">
<ng-container [formArrayName]="item.header">
<input class="form-control" [formControlName]="indx" [value]="item.value?.controls[indx].value">
</ng-container>
</td>
</tr>
</tbody>
</form>
Я уже пробовал создать геттер для массива форм, как на документация, https://angular.io/api/forms/FormArrayName
get cities(): FormArray {
return this.form.get('cities') as FormArray;
}
ссылка на stackblitz - https://stackblitz.com/edit/angular-ivy-tjkbt6
Ошибка не возникает здесь, в stackblitz, но происходит в мой локальный
PS Формат массива при необходимости можно изменить