当FormGroup
出现新错误时,角度反应表不会自动更新是因为在Angular中,当FormGroup
的错误状态改变时,只有FormControl
的状态改变才会触发反应表更新。而FormGroup
的错误状态是通过检查其子控件的错误状态来确定的。如果FormGroup
的子控件发生错误状态的改变,但是FormGroup
本身的状态没有改变,那么角度反应表就不会自动更新。
解决这个问题的方法是,可以使用valueChanges
方法来订阅FormGroup
的值的变化,并在订阅函数中手动更新角度反应表。具体步骤如下:
FormGroup
的valueChanges
事件,代码如下:ngOnInit() {
this.formGroup.valueChanges.subscribe(() => {
this.formGroup.updateValueAndValidity();
});
}
updateValueAndValidity
方法来手动更新FormGroup
的状态和错误信息。这将触发角度反应表的更新。FormGroup
的错误信息,以便在视图中显示错误信息。例如,可以使用ngIf
指令来检查每个控件的错误状态,并在错误状态存在时显示错误信息。请注意,以上方法适用于Angular的版本5及更高版本。如果您使用的是较旧的版本,请查阅相应版本的Angular文档进行适当调整。
补充说明:
FormGroup
是Angular中的一个类,用于表示表单组。它是由一组FormControl
组成的,并负责对这些子控件的状态和错误进行管理。valueChanges
是FormGroup
的一个属性,它返回一个Observable
,用于订阅FormGroup
值的变化。可以通过订阅该Observable
来监听FormGroup
的值的变化,并触发相应的逻辑操作。没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云