Angular响应式表单中markAllAsTouched()的异常行为
创始人
2024-10-30 08:00:44
0

在Angular的响应式表单中,markAllAsTouched()方法被用来将所有表单控件设置为触摸状态,并触发校验。然而,在某些情况下,该方法可能会出现异常行为,例如在删除动态表单行之后调用该方法,它可能会将所有控件标记为触摸并未通过校验,即使它们已经被删除。

为了解决这个问题,我们可以手动递归遍历表单的控件,并设置它们为触摸状态和触发校验,以避免调用markAllAsTouched()方法。

以下是一个示例代码,用于手动递归遍历表单:

/**
* Marks all controls in a form group as touched and triggered validation
*/
export function markFormGroupTouched(formGroup: FormGroup) {
 Object.values(formGroup.controls).forEach(control => {
   control.markAsTouched();
 
   if (control instanceof FormGroup) {
     markFormGroupTouched(control);
   }
 });
}

我们可以将这个函数用于表单组中的任何表单控件上,以手动标记它们为触摸和触发校验。例如,

this.addressForm = this.fb.group({
   street: [],
   city: [],
   state: [],
   zip: []
 });

markFormGroupTouched(this.addressForm);

使用上述代码示例,我们可以避免markAllAsTouched()方法的异常行为。

相关内容

热门资讯

透视透视挂!wpk软件是真的吗... 透视透视挂!wpk软件是真的吗,(WPK德州局)辅助软件(原来是有挂)1、首先打开wpk软件是真的吗...
透视ai!wpk有作弊吗,(w... 透视ai!wpk有作弊吗,(wPK模拟器)安卓下载辅助(竟然是真的有挂);1、wpk有作弊吗ai辅助...
透视好友!wpk辅助器,(wP... 透视好友!wpk辅助器,(wPk免费)辅助器(切实真的是有挂)1、全新机制【wpk辅助器软件透明挂】...
透视脚本!wpk辅助哪里买,(... 透视脚本!wpk辅助哪里买,(Wpk方法)竟然真的有挂(详细免费辅助)wpk辅助哪里买软件透明挂微扑...
透视有挂!wpk免费辅助,(w... 透视有挂!wpk免费辅助,(wpK免费)都是存在有挂(详细透视辅助)1、透视有挂!wpk免费辅助,(...
透视代打!wpk透视工作室,(... 透视代打!wpk透视工作室,(Wpk软件)真是是真的有挂(详细私人辅助);wpk透视工作室辅助器中分...
透视玄学!wpk免费辅助,(W... 透视玄学!wpk免费辅助,(WPk模拟器)官网下载链接(果然真的是有挂);1、任何wpk免费辅助ai...
透视美元局!wpk作弊,(wp... 透视美元局!wpk作弊,(wpK私人局)微扑克微乐辅助(都是是真的有挂)1、微扑克微乐辅助ai机器人...
透视玄学!wpk俱乐部怎么作弊... 透视玄学!wpk俱乐部怎么作弊,(WpK辅助)透视是真的假的(果然存在有挂)wpk俱乐部怎么作弊辅助...
透视黑科技!wpk真吗,(Wp... 透视黑科技!wpk真吗,(Wpk插件)免费辅助(都是真的有挂)1.wpk真吗 ai辅助创建新账号,点...