我有一个列表,简单 - string[]
。我为该列表的每个项目生成复选框。然后,我创建FormControls:Angular - 将动态创建的FormControls添加到FormGroup中
this.list.map((item) => {
this.form.addControl(item, new FormControl(false, Validators.required))
})
但我想添加一个Validator
控制选中的复选框的允许次数,所以我想我能做到这一点,如果我搬完FormControls
到FormGroup
,所以我尝试类似:
constructor(private fb:FormBuilder) {
this.form = this.fb.group({
input1Ctrl: ['', Validators.required],
input2Ctrl: ['',Validators.required],
checkboxGroup : new FormGroup({})
})
this.list.map((item) => {
this.form.checkboxGroup.addControl(item, new FormControl(false, Validators.required))
})
但是,这给:
提供的参数不匹配,通话对象的任何签名。 属性'checkboxGroup'在'FormGroup'类型上不存在。
我应该怎么做?
为什么'this.form.checkboxGroup'?这完全无效。这就是为什么你有错误。 –
'this.form.get('checkboxGroup')。addControl(...)' – developer033
谢谢@ developer033,但现在我得到了 - 属性'addControl'不存在于'AbstractControl'类型中......这很奇怪,因为我提供'checkboxGroup'的FormGroup类型... –