修补表单后,控件上的更改检测如何工作?

问题描述

我想知道以下情况会发生什么:

我有一个带有以下控件的formGroup:

{
  forename: new FormControl()
  surname: new FormControl()
}

现在,我像这样跟踪控件“姓氏”的变化(仅作为示例):

this.formGroup.get('surname').valueChanges.subscribe(changes => {
   if(this.formGroup.get('forename') == 'Max'){
      this.formGroup.get('forename').disable();
   }
})

最后,我像这样修补表单:

this.formGroup.patchForm({surname: 'Muster',forename: 'Max'});

是否将禁用控件“姓氏”?因为我不确定它是否会触发控件“姓”的更改,然后才能设置控件“姓”的值。因此,“姓”可能还没有“正确”值。

当试图触发确切的valueChanges事件时,我试图更好地理解,因为有时我会遇到问题,尽管应该设置值,但未设置。

我还想知道是否有可能等到对每个控件进行修补后再发出更改。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)