form.valueChanges不会为已禁用的控件发出值
我有一个Angular Reactive窗体。我订阅它的值更改并将更改到父组件。某些控件可能会被用户禁用。问题是当表单valueChanges发出时,来自禁用控件的值缺失。我已经设置了一个基本的example。form.valueChanges不会为已禁用的控件发出值
当复选框被选中并且电子邮件输入被禁用时,没有记录表格控制值。但我想获得所有表单值。
回答:
无论启用/禁用状态如何,使用FormGroup的getRawValue()来包含控制值。
More information in the API documentation
this.myForm.valueChanges.subscribe(() => { this.formValues = JSON.stringify(this.myForm.getRawValue());
});
Here is the forked example
回答:
来自禁用输入的值将被忽略(尝试提交具有禁用输入的表单:它将不会被发布)。
你可以把它改成 '只读'
<input formControlName="email" [readonly]="cb.checked"> <input #cb type="checkbox" formControlName="toggleEmail">
Updated example。
以上是 form.valueChanges不会为已禁用的控件发出值 的全部内容, 来源链接: utcz.com/qa/265287.html