重置反应形式会删除禁用的字段
Reset of reactive form removes disabled fields
如何防止在重置时删除禁用的字段。
这是我的代码的一部分:
this.updateInformationForm = this.fb.group({
'first_name': [first_name, Validators.required],
'last_name': [last_name, Validators.required],
'address1': [address1, Validators.required],
'address2': [address2, Validators.required],
'city': [city, Validators.required],
'state': [state, Validators.required],
'zip': [zip, Validators.required],
'phone': [phone, Validators.required],
'dob': [dob, Validators.required],
'gender': [gender, Validators.required],
'email': [email, Validators.required],
});
this.updateInformationForm.controls['first_name'].disable();
this.updateInformationForm.controls['last_name'].disable();
this.updateInformationForm.controls['email'].disable();
和我的重置方法:
clear(): void {
this.updateInformationForm.reset();
}
改为在构建表单时添加禁用。假设这里你不想在重置时设置任何默认值,而只是清空所有字段,但如果你最初在构建表单时将某个字段设置为禁用,则重置后它将保持禁用状态:
constructor(private fb: FormBuilder) {
this.updateInformationForm = this.fb.group({
// set as disabled already here!
first_name: [{ value: 'first name', disabled: true }],
last_name: ['last name']
});
}
如何防止在重置时删除禁用的字段。 这是我的代码的一部分:
this.updateInformationForm = this.fb.group({
'first_name': [first_name, Validators.required],
'last_name': [last_name, Validators.required],
'address1': [address1, Validators.required],
'address2': [address2, Validators.required],
'city': [city, Validators.required],
'state': [state, Validators.required],
'zip': [zip, Validators.required],
'phone': [phone, Validators.required],
'dob': [dob, Validators.required],
'gender': [gender, Validators.required],
'email': [email, Validators.required],
});
this.updateInformationForm.controls['first_name'].disable();
this.updateInformationForm.controls['last_name'].disable();
this.updateInformationForm.controls['email'].disable();
和我的重置方法:
clear(): void {
this.updateInformationForm.reset();
}
改为在构建表单时添加禁用。假设这里你不想在重置时设置任何默认值,而只是清空所有字段,但如果你最初在构建表单时将某个字段设置为禁用,则重置后它将保持禁用状态:
constructor(private fb: FormBuilder) {
this.updateInformationForm = this.fb.group({
// set as disabled already here!
first_name: [{ value: 'first name', disabled: true }],
last_name: ['last name']
});
}