在我的Angular4应用程序中,我有一个带有多个控件的表单。
有时我需要强制更新它们的有效性,所以我这样做:
this.form.get('control1').updateValueAndValidity();
this.form.get('control2').updateValueAndValidity();
this.form.get('control3').updateValueAndValidity();
// and so on....
然后:
this.form.updateValueAndValidity();
这个运行良好。
然而,我在想是否有更好的方法来完成相同的事情,只需要在父表单上调用一个方法即可。
根据其文档,updateValueAndValidity()
方法:
默认情况下,它还将更新祖先的值和有效性。
但在我的情况下,我需要更新其后代的值和有效性。因此,我可以摆脱很多代码。
updateValueAndValidity
也会应用于子表单。 - jonrsharpemarkAsDirty
相同的问题:https://github.com/angular/angular/issues/11774 我认为你需要做一些变通,并迭代父对象属性并在每个控件上使用updateValueAndValidity
。嗯。虽然很方便,但只需在父级上调用它就可以了。 - AT82