我有這樣的反應性形式:角4:的setValue formBuilder空數組
constructor(...){
this.form = this.formBuilder.group({
name: ['', Validators.compose([Validators.required, Validators.maxLength(50)])],
memes: this.formBuilder.array([
this.initMemes('TrollFace')
])
});
}
initMemes (name?) {
return this.formBuilder.group({
id: [''], name: [name]
});
}
以後我可以添加一些更memes
:
addMemes() {
const control = <FormArray>this.form.controls['memes'];
control.push(this.initMemes('anyName'));
}
,然後,如果我得到表單值我得到:
this.form.controls['memes'].value
- 這裏我有陣列
但有一種情況,當我需要這個this.form.controls['memes'].value
設置爲空數組,怎麼可能做?
如果我設置這種方式:
this.form.controls['memes'].setValue([])
我得到錯誤:Must supply a value for form control at index: 0.
什麼,我做錯了什麼?
我覺得應該是control.controls.removeAt(I)。因爲console.log(control)有一個帶有名稱控件的數組,否則會出現錯誤「Can not read property'enabled'null'」。 – Jassi