Ошибка: не удается найти элемент управления с именем: Angular FormArray - PullRequest
0 голосов
/ 07 мая 2020

Добрый день, я пытаюсь создать реактивную форму с помощью formArray, но при загрузке Html возникает следующие ошибки:

1) Не удается найти элемент управления с именем: 'тексты'.
2) Невозможно прочитать свойство 'controls', равное null.

Строка 31 выглядит следующим образом:

 <div formArrayName = "texts"><br>

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

<div *ngFor="let tex of texts.controls; let i = index" formGroupName="{{i}}">

Component.ts

myForm: FormGroup;
  constructor(
    private fb: FormBuilder
  ) {}

gOnInit() {
    this.myForm = this.fb.group({
      name: '',
      texts: this.fb.array([]),
    });
}


get texts() : FormArray {
    return this.myForm.get("texts") as FormArray
  }

  newtext(): FormGroup {
    return this.fb.group({
      respuestas_valor: '',
    })
 }
 addText() {
  this.texts.push(this.newtext());
}



removetext(i:number) {
  this.texts.removeAt(i);
}

onSubmit1() {
  console.log(this.myForm.value);
}

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

            <form [formGroup]="myForm" (ngSubmit)="onSubmit1()">

    <div *ngIf="p.codigo_tipopreguntas == 1">
                                <div formArrayName="texts">
                                  <div *ngFor="let tex of texts.controls; let i = index" formGroupName="{{i}}">
                                    <mat-form-field>
                                      <input formControlName="respuestas_valor" type="text" matInput value="">
                                    </mat-form-field>
                                  </div>
                                </div>
                              </div>
</form>

какое решение этой ошибки?

...