Angular 8 Возвращает массив форм. Не удается найти элемент управления с путем: 'переменная -> 0' - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь создать динамическую 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 Формат массива при необходимости можно изменить

...