我有一個Angular Reactive窗體。我訂閱它的值更改並將更改到父組件。某些控件可能會被用戶禁用。問題是當表單valueChanges發出時,來自禁用控件的值缺失。我已經設置了一個基本的example。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());
});
來自禁用輸入的值將被忽略(嘗試提交具有禁用輸入的表單:它將不會被髮布)。
你可以把它改成 '只讀'
<input formControlName="email" [readonly]="cb.checked">
<input #cb type="checkbox" formControlName="toggleEmail">
在活性形式的角忽略具有禁用的值。 –