gpt4 book ai didi

所有子控件的 Angular 形式 updateValueAndValidity

转载 作者:太空狗 更新时间:2023-10-29 17:01:21 31 4
gpt4 key购买 nike

在我的 Angular 4 应用程序中,我有一个包含多个控件的表单。

在某些时候我需要强制更新它们的有效性,所以我在做:

this.form.get('control1').updateValueAndValidity();
this.form.get('control2').updateValueAndValidity();
this.form.get('control3').updateValueAndValidity();
// and so on....

然后:

this.form.updateValueAndValidity();

这很好用。

但是我想知道是否有更好的方法来完成同样的事情,只需调用父表单上的一个方法。

根据其documentation , updateValueAndValidity() 方法:

By default, it will also update the value and validity of its ancestors.

但就我而言,我需要更新其后代 的值和有效性。这样我就可以去掉很多行代码。

最佳答案

我有同样的情况要更新 FormGroup |嵌套级别控件的 FormArray

检查一下(对我有用):

/**
* Re-calculates the value and validation status of the entire controls tree.
*/
function updateTreeValidity(group: FormGroup | FormArray): void {
Object.keys(group.controls).forEach((key: string) => {
const abstractControl = group.controls[key];

if (abstractControl instanceof FormGroup || abstractControl instanceof FormArray) {
updateTreeValidity(abstractControl);
} else {
abstractControl.updateValueAndValidity();
}
});
}

关于所有子控件的 Angular 形式 updateValueAndValidity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46990726/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com