你想用
FormArray
. 申报表及其内部申报
formArray
.然后,当您从服务获取数据时,创建尽可能多的
formControl
因为你有结果并将其添加到
福尔马雷
是的。
这里有一个例子:
https://angular.io/guide/reactive-forms#use-formarray-to-present-an-array-of-formgroups
表单类型:
yourForm:FormGroup;
表单定义:
this.yourForm = this.fb.group({
yourFormArray: this.fb.array([])
});
为你的
福尔马雷
以下内容:
get yourFormArray(): FormArray {
return this.cpForm.get('commands') as FormArray;
}
然后,从服务器获取数据后:
this.yourFormArray.reset();
this.commandKeys.forEach(val =>
this.yourFormArray.push(this.fb.group({ command: [''] }))
);
将创建尽可能多的命令(没有
s
)表单组(只有一个
input
字段)因为您的
commandKeys
结果。
附言。
一旦你设置好你就可以使用
patchValue
在
福尔马雷
用实际值填充。类似于:
this.myFormArray.patchValue(commandKeys.map(key => ({ command: key })));
第2页。
要从formarray中清除窗体控件,可以使用以下函数:
//Clear formArray
clearItemsFormArray() {
while (this.yourFormArray.length > 0)
this.yourFormArray.removeAt(0);
}
yourFormArray
那个是从
getter
.