Angular响应式表单-OnPush时setErrors不会更新FormArray内的FormControl视图。
创始人
2024-10-30 06:00:14
0

在使用OnPush策略的情况下,Angular不会自动检测响应式表单的状态更改。因此,解决此问题的一种方法是通过强制更改检测来手动更新视图。

以下是实现此解决方案的示例代码:

在你的组件中注入ChangeDetectorRef:

import { ChangeDetectorRef } from '@angular/core';

constructor(private cdr: ChangeDetectorRef) {}

在设置表单控件的错误时,手动调用ChangeDetectorRef.markForCheck()方法:

this.formArray.controls[index].get('controlName').setErrors({ error: true }); this.cdr.markForCheck();

这将会更新视图并反映表单控件的错误状态。

请注意:在可能出现大量表单控件的表单中,频繁地使用markForCheck() 是不推荐的,因为它可能会导致性能问题。因此,在这种情况下,您可能需要考虑采用其他的优化策略。

相关内容

热门资讯

透视科技!拱趴大菠萝挂(透视)... 透视科技!拱趴大菠萝挂(透视)黑科技教程(2025已更新)(哔哩哔哩)1、游戏颠覆性的策略玩法,独创...
透视透视!aapoker万能辅... 透视透视!aapoker万能辅助器(透视)真的假的(其实存在有挂)1、上手简单,内置详细流程视频教学...
透视规律!拱趴大菠萝怎么开挂(... 透视规律!拱趴大菠萝怎么开挂(透视)介绍教程(2025已更新)(哔哩哔哩);所有人都在同一条线上,像...
透视了解!aapoker怎么拿... 透视了解!aapoker怎么拿好牌(透视)发牌逻辑(一直真的有挂)1、aapoker怎么拿好牌系统规...
透视脚本!hardrock透视... 透视脚本!hardrock透视工具(透视)必胜教程(2022已更新)(哔哩哔哩)1、hardrock...
透视攻略!agpoker辅助(... 透视攻略!agpoker辅助(透视)线上教程(2023已更新)(哔哩哔哩)1、全新机制【agpoke...
透视存在!aapoker怎么设... 透视存在!aapoker怎么设置抽水(透视)万能辅助器(其实真的有挂);1、在aapoker怎么设置...
透视辅助!pokemmo内置修... 透视辅助!pokemmo内置修改器(透视)揭秘攻略(2024已更新)(哔哩哔哩)1、pokemmo内...
透视玄学!aapoker辅助软... 透视玄学!aapoker辅助软件合法吗(透视)免费透视脚本(一贯真的是有挂)1、让任何用户在无需aa...
透视规律!werplan辅助软... 透视规律!werplan辅助软件(透视)必赢方法(2022已更新)(哔哩哔哩)该软件可以轻松地帮助玩...