[英]How to enable all form controls at once in an Angular 14 reactive form
我有一个包含 35 个字段的反应式表单。 当页面加载时,应禁用所有 35 个控件。 但是在点击“编辑”按钮时,所有这 35 个控件都应该被启用。 这是我试过的:
HTML
<form ...>
Email input field...
Contact input field...
33 other fields...
</form>
<button (click)="allowFormUpdate()">Edit</button>
TS
formUpdateStatus: boolean = true; // VARIABLE TO INITIALLY DISABLE THE FIELDS
myReactiveForm;
allowFormUpdate() {
this.formUpdateStatus = false; // NOT WORKING
this.myReactiveForm.controls['email'].enable();
this.myReactiveForm.controls['contact'].enable();
this.myReactiveForm.controls['firstName'].enable();
...
// Code being repeated
}
ngOnInit(): void {
...
this.myReactiveForm= new FormGroup({
email: new FormControl({value: '...', disabled: this.formUpdateStatus}),
contact: new FormControl({value: '...', disabled: this.formUpdateStatus}),
firstname: new FormControl({value: '...', disabled: this.formUpdateStatus}),
...
当我单击“编辑”按钮时,调用了我的方法allowFormUpdate()
但请注意,在该方法中我必须一个接一个地启用每个控件,因为this.formUpdateStatus = false;
没用。 请帮助我一次启用所有字段。
您可以通过以下方式启用FormGroup
中的所有表单控件:
this.myReactiveForm.enable();
同样,您可以通过禁用FormGroup
来禁用所有表单控件,而不必使用disabled
值禁用每个FormControl
。
this.formUpdateStatus && this.myReactiveForm.disable();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.