我正在使用Angular 6
。我有一个像下面的FormArray
数组
contactAddForm: FormGroup;
phone_numbers: FormArray;
ngOnInit() {
this.contactAddForm = this.formBuilder.group({
first_name: new FormControl('', [
Validators.required
])
phone_numbers: this.formBuilder.array([this.createPhoneNumberFormField()])
});
}
createPhoneNumberFormField(): FormGroup {
return this.formBuilder.group({
phone: new FormControl(),
primary: new FormControl()
});
}
此处phone
是文本字段,而primary
是复选框,它发送true
或false
。
但是有时动态添加更多字段,如果提交的字段为空,则分配给phone
和primary
字段的值为 null 。
phone
字段的formArray字段?primary
的默认值设置为 false 而不是 null ?答案 0 :(得分:1)
您可以通过将FormControl
对象的默认值作为其构造函数的第一个参数来设置。
createPhoneNumberFormField(): FormGroup {
return this.formBuilder.group({
phone: new FormControl(),
primary: new FormControl(false) // asigning default as false
});
}
如果您要在提交之前删除null
字段,则必须遍历form controls
并手动删除它们。