这是我的数据结构
class myObject
{
name: string;
notes: string[];
}
我旨在创建一个反应式表单组来绑定名称和所有注释(每个注释都有一个单独的控件)。
this.formGroup = this.formBuilder.group
({
name: new FormControl(getName()), //returns a string
notes: this.formBuilder.array(getNotes()) //returns a string array
});
<div [formGroup]="formGroup">
<input formControlName="name">
<div formArrayName="notes">
<div *ngFor="let note of formGroup.controls.notes.controls; let i=index">
<div formGroupName="{{ i }}">
<input formControlName="{{ i }}"> // bind array element to formcontrol
</div>
</div>
</div>
</div>
我如何将“无属性”字符串数组中的每个字符串绑定到FormControl? 我遇到了:错误错误:找不到路径为“注释-> 0-> 0”的控件
提前感谢您的帮助!
答案 0 :(得分:0)
使用以下方法实现了上述目标:
<div [formGroup]="formGroup">
<input formControlName="name">
<div formArrayName="notes">
<div *ngFor="let note of formGroup.controls.notes.controls; let i=index">
<div formGroupName="{{ i }}"> //remove this tag
<input formControlName="{{ i }}">
</div>
</div>
</div>
</div>
只需删除'div formGroupName =“ {{i}}”“标记,因为它不是嵌套的数据结构。