如果我在父级子级中使用相同的formcontrol,则UI不会更新

问题描述

我正面临一种场景,其中我在父组件子组件中使用 formGroup 。 并且我在父级和子级中放置了相同的表单控件,但是当我在父级中更新值时,formgroup会更新,但是放在子级组件上的控件的值不会更新,反之亦然。我做了一个DEMO,如果我希望父级和子级组件的值都从父级或子级更改后都更新了,请向我行会。

解决方法

对此github issue进行讨论,即使您在同一个组件中,如果两个具有相同formControlName的输入只有您要更改的那一个也会更改,这也没错。

在子组件上有一种解决方法

app-child

ngOnInit(){
  this.address.valueChanges.subscribe(val =>{
    this.address.patchValue(val,{emitEvent:false})
  })
}

父母或孩子的任何更改都会触发form.patchValue,这将更新用户界面

demo ?