Angular ReactiveForms - вложенная группа FormGroup в FormArray (элемент управления не найден) - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть следующий formarray (внутри родителя: formgroup):

someArray: this.fb.array([
{
   someGroup: this.fb.group(
   {name: 'value', type: 'value2;}
   )
}

Мой HTML выглядит следующим образом:

<fieldset formArrayName="someArray">
  <div *ngFor="let someValue of parents.controls.someArray.controls; let x = index" >

    <div [formGroupName]="x">
     <fieldset formGroupName="someGroup">

Я получаю следующую ошибку:

Cannot find control at someArray -> 0 > someGroup

Я ожидал бы, что при индексе 0 в someArray существует форма formGroup somegorup, поэтому я могу добавить для нее набор полей в html. Однако это не тот случай. Может кто-нибудь объяснить, почему?

Приветствия

1 Ответ

0 голосов
/ 18 ноября 2018

Это потому, что вы создали FormArray одного FormControl со значением:

{
   someGroup: this.fb.group(
     {name: 'value', type: 'value2}
   )
}

То, что вы ищете:

someArray: this.fb.array([
   this.fb.group({
      someGroup: this.fb.group(
        { name: 'value', type: 'value2' }
      )
   })
])

Обратите внимание this.fb.group при создании элемента для FormArray.

Ng-run Пример

...