gpt4 book ai didi

Angular2 自定义表单控件防止发出事件

转载 作者:太空狗 更新时间:2023-10-29 17:15:47 25 4
gpt4 key购买 nike

在某些情况下,当我更新 Angular2 Form 控件时,我不想触发 valueChanges 事件(例如,因为更改是从我的数据库中 react 过来的,​​不应该触发数据库写入以避免无限循环)。

这对使用“emitEvent”属性的标准 FormControls 非常有效,如下所示:

this.form.formGroup.controls[name].setValue(value, {emitEvent: false});

现在我有一个案例,我想在我创建的自定义 FormControl 上使用该“功能”,它通过 registerOnChange()writeValue() 方法。

但我不知道如何访问 emitEvent 属性,因为它不是 writeValue() 中的传入参数

有办法实现吗?谢谢!

最佳答案

它不是这样工作的,writeValue 是 Angular 用来更新自定义组件的方式,而不是相反。控件使用传递给 registerOnChange 的函数进行更新,但是这是为了通过组件的 UI 更新值,如果不发出事件就无法完成,实际上没有这种情况。如果你多说说你的情况,我们可以设法解决。如果您想阻止额外的保存请求,您可以添加去抖动机制或使用 Angular FormHooks — 'blur' 将仅在您离开 UI 元素后更新控件。

关于Angular2 自定义表单控件防止发出事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42094746/

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