在我的一个页面上,我使用 FormBuilder
在初始化时填写表单。只要输入不为空,每个输入都会得到一个类。这是通过向每个输入添加一个 ngClass
并订阅 FormGroup
的 valueChanges
来完成的。
只要以编程方式填写表单,就会出现我的问题。每当用户更改表单上的任何值时,都会调用 valueChanges
,但是,使用 FormBuilder
时情况并非如此。
我的问题是:如何在 FormBuilder
完成时触发 valueChanges
事件。
我尝试过使用 this.FormGroup.updateValueAndValidity()
,但这并没有产生任何结果。
最佳答案
我找到了适合我的解决方案。我忘记了 updateValueAndValidity
函数中的两个参数。
- onlySelf:只有在 true 时才会更新此
FormControl
。 - emitEvent:当为 true 时将触发
valueChanges
事件。
因此,您将得到如下内容:
FormGroup.updateValueAndValidity({ onlySelf: false, emitEvent: true });
关于angular - 如何以编程方式触发 `valueChanges`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42435736/