在我的其中一個頁面上,我使用FormBuilder
在初始化時填寫表單。每當輸入爲而不是爲空時,每個輸入都會得到一個類。這是通過將ngClass
添加到每個輸入並訂購FormGroup
的valueChanges
來完成的。如何以編程方式觸發`valueChanges`?
每當通過編程填充表單時,就會出現我的問題。每當用戶更改表單上的任何值時,valueChanges
被調用,但是,使用FormBuilder
時情況並非如此。
我的問題是:如何在FormBuilder
完成時獲取valueChanges
事件。
我試過使用this.FormGroup.updateValueAndValidity()
,但是這並沒有產生任何結果。
我同意你的觀點,我的問題頗具誤導性,所以我花時間重寫了問題和答案。我曾嘗試'markAsDirty'的'setValue'選項,但是,這並沒有解決我的問題。 – Max
謝謝Max。但是如果你[查看'setValue()']的源代碼(https://github.com/angular/angular/blob/master/modules/%40angular/forms/src/model.ts#L674)會發現它已經調用'updateValueAndValidity()'。此外,'emitEvent'參數默認設置爲'true'。換句話說,默認行爲應該已經給你所有你想要的東西。也許你沒有使用正確的語法來以編程方式更改字段的值? – AngularChef
我公司的consisteny政策要求我使用FormBuilder來初始化表單的內容,所以我被要求使用FormBuilder。如果我只是使用'FormGroup.updateValueAndValidity()'而不提供參數,則表單不會使我需要的方式失效。但是,如果我提供參數,我確實得到了我需要的結果。 – Max