错误:找不到名称为:Angular FormArray的控件

时间:2020-05-06 21:32:36

标签: angular typescript forms formbuilder formarray

下午好,我正在尝试使用formArray创建一个响应式表单,但是在加载HTML时会引发以下错误。

1)找不到名称为“文本”的控件。
2)无法读取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>

对此错误有解决方案吗?

0 个答案:

没有答案