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()方法的异常行为。

相关内容

热门资讯

玩家实测“九游辅助器”开挂(透... 九游辅助器 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由: 1、软件...
最新技巧“sohoo开挂辅助”... sohoo开挂辅助是一款专注玩家量身打造的游戏记牌类型软件,在sohoo开挂辅助这款游戏中我们可以记...
分享一款“盛世辅助”开挂(透视... 大家好,今天小编来为大家解答盛世辅助这个问题咨询软件客服可以免费测试直接加微信(136704302)...
透视软件“闽游十三水辅助”开挂... 透视软件“闽游十三水辅助”开挂(透视)辅助脚本揭秘攻略(有挂技术) 【无需打开直接搜索加薇13670...
专业讨论“开心十三张脚本”开挂... 专业讨论“开心十三张脚本”开挂(透视)辅助插件必备教程(有挂细节)《详细加薇136704302咨询》...
查到实测“悠悠互娱辅助”开挂(... 查到实测“悠悠互娱辅助”开挂(透视)辅助安装爆料教程(果真有挂)这是一款可以让一直输的玩家,快速成为...
揭秘真相“蜜瓜大厅小程序辅助”... 您好:这款蜜瓜大厅小程序辅助游戏是可以开挂的,确实是有挂的,很多玩家在这款蜜瓜大厅小程序辅助游戏中打...
透视实锤“雀神广东麻将透视视频... 透视实锤“雀神广东麻将透视视频”开挂(透视)辅助平台透明挂教程(有挂猫腻) 【无需打开直接搜索加薇1...
分享实测“吉祥填大坑脚本”开挂... 分享实测“吉祥填大坑脚本”开挂(透视)辅助透视普及教程(新版有挂)>>您好:软件加薇13670430...
重大推荐“传送屋app辅助脚本... 重大推荐“传送屋app辅助脚本下载”开挂(透视)辅助软件可靠技巧(详细教程)传送屋app辅助脚本下载...