通知控制更改为 {emitEvent: false}
Be notified of control changed with {emitEvent: false}
我试图创建一个工具来显示 formControl 的错误。基本上,我的目标是在我的自定义 CVA 中提供一个配置,例如
<custom-control
[errorConfig]="[
{ name: 'required', message: 'Email is required' },
{ name: 'email', message: 'Email is invalid' }
]"
></custom-control>
并拾取并显示正确的错误。
我通过订阅控件的 statusChanges
事件完成了它,除了一件事外它工作得很好:当值随着 { emitEvent: false }
发生变化时,statusChanges
将永远不会被调用。
我知道这是为了在设置 emitEvent: false
时不调用此 eventEmitter,但是有什么办法可以克服这个问题吗?
有没有办法通知 setError/patchValue/updateValueAndValidity
方法被 emitEvent: false
调用?
或者也许有人知道我还能听什么来更新显示的错误?
好的,所以有一种方法可以从 @angular/forms
实现 Validator
。它有 validate
方法,即使事件发射被禁用也会被调用。
我试图创建一个工具来显示 formControl 的错误。基本上,我的目标是在我的自定义 CVA 中提供一个配置,例如
<custom-control
[errorConfig]="[
{ name: 'required', message: 'Email is required' },
{ name: 'email', message: 'Email is invalid' }
]"
></custom-control>
并拾取并显示正确的错误。
我通过订阅控件的 statusChanges
事件完成了它,除了一件事外它工作得很好:当值随着 { emitEvent: false }
发生变化时,statusChanges
将永远不会被调用。
我知道这是为了在设置 emitEvent: false
时不调用此 eventEmitter,但是有什么办法可以克服这个问题吗?
有没有办法通知 setError/patchValue/updateValueAndValidity
方法被 emitEvent: false
调用?
或者也许有人知道我还能听什么来更新显示的错误?
好的,所以有一种方法可以从 @angular/forms
实现 Validator
。它有 validate
方法,即使事件发射被禁用也会被调用。