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

回到顶部