下午好,我正在尝试使用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>
对此错误有解决方案吗?