主要思路 利用this.fb.array 先占位formControl
添加的时候再重新构造formArray -》setControl重新修改Control
展示代码是两层formArray嵌套 代码有点复杂且不完整 请谅解~
html注意formArrayName formGroupName 的使用就ok了
formArrayName是占位formControl的名字
formGroupName是动态array的下表 因为再formArray集合里面每个对象是以下标区分的 下表即代表formGroup
tip:
formGroup的get方法可以通过get('aa.bb')获取Control里的子Control
ts
addName() {
this.show = false;
let attr = this.commonForm.get("attributeGroups") as FormArray;
let next = 9999
if (attr.length != 0) {
attr.get(attr.length - 1 + "").patchValue({
next: attr.length
})
}
let attributeNameaa = this.fb.group({
groupName: [''],
lock: [false],
attributes: this.fb.array([this.fb.group({
attrValue: ''
})]
),
next: next
})
if (this.attrArryFor