【发布时间】:2020-10-22 14:27:14
【问题描述】:
我正在 Angular 中创建动态响应式表单。但是在下面的代码中,level.name 不被接受,因为编译器不允许在 group() 中提供变量。它只允许固定值,例如 - state、city 等,而不是 level.name 变量,其中 level 是一个具有 name 字段的对象...
this.countryNextLevelsBeforeMan.forEach(**level** => {
let l2 =<FormArray> this.l1FormGroup2.controls["l2"];
l2.push(this.formBuilder.group({
**level.name** : null --> compilation error on this line as variable not getting allowed
}))
});
在 group 方法中,我想将控件名称作为变量 (level.name)。在 for 循环中,如果 level 是 {"name" : "State" , "id" : 2} 那么我想像下面这样设置它,
l2.push(this.formBuilder.group({
**State** : null --> No compilation error if we give fixed value
}))
(我希望它由 level.name 动态分配,而不是“State”,因为 level.name 可以是 City、Street 等)
请帮忙!!!
【问题讨论】:
-
你想动态设置控制键吗?
-
是的,你是对的
标签: angular angular-reactive-forms reactive-forms formarray