patchValue with emitEvent: false, onlySelf: true 触发 Angular 中的 valueChanges
Posted
技术标签:
【中文标题】patchValue with emitEvent: false, onlySelf: true 触发 Angular 中的 valueChanges【英文标题】:patchValue with emitEvent: false, onlySelf: true triggers valueChanges in AngularpatchValue with emitEvent: false, onlySelf: true 触发 Angular 中的 valueChanges 【发布时间】:2020-10-14 20:40:00 【问题描述】:我有一个重置按钮,它使用 patchValue 重置域的值
onReset()
this.addModelForm.patchValue( domain: '', emitEvent: false, onlySelf: true);
这是域的 valueChanges 方法:
this.addModelForm.get('domain').valueChanges.subscribe(domainId =>
console.log("value changed!")
);
它打印“值已更改!”在控制台上 2 次。我不想触发 valueChanges 方法。 emitEvent 不工作。
【问题讨论】:
【参考方案1】:既然你在 FormGroup 上使用 patchValue 应该是这样的:
试试这个:
this.addModelForm.patchValue( domain: '' ,emitEvent: false);
【讨论】:
以上是关于patchValue with emitEvent: false, onlySelf: true 触发 Angular 中的 valueChanges的主要内容,如果未能解决你的问题,请参考以下文章
Angular Reactive Forms,patchValue 不起作用,嵌套表单
typescript 响应式表单:setValue方法和patchValue
Angular 8:反应式表单自动映射和 PatchValue 设置成员数据
如何在测试 Angular 2 反应形式中使用 setValue 和 patchValue