如何以反应形式监听AbstractControl的valueChanges和setValue

Dan*_*ley 4 angular angular-forms

我是Angular的新手,我有一个Reactive Forms, AbstractControl可以订阅valueChange监听输入字段中的任何值更改.在订阅函数内部,我想在一定条件下更改输入的值.

this.abstractControl.valueChanges.subscribe(data => {
...
   if(.....) {
       this.formGroup.patchValue({
           name: result
       )}
    }
...
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用this.abstractControl.setValue(result)不起作用.

设置值时出错.

ERROR RangeError: Maximum call stack size exceeded
Run Code Online (Sandbox Code Playgroud)

听取价值变化并根据条件改变价值的推荐方法是什么?

Dan*_*ley 6

@jonrsharpe谢谢.问题解决了emitEvent: false.

阅读:angular.io/api/forms/FormControl#setValue