首页 > 解决方案 > 如果我在父子中使用相同的表单控件,UI 不会更新

问题描述

我面临一个场景,我在父组件子组件中使用formGroup。并且我在父级和子级中放置了相同的表单控件,但是当我更新父级中的值时,表单组会更新,但放置在子组件上的控件值不会更新,反之亦然。我制作了一个演示如果我希望父组件和子组件都更新 ui 如果值从父组件或子组件更改,请指导我该怎么做。

标签: angularangular-reactive-formsformgroups

解决方案


正如在此github 问题上所讨论的那样,即使您在同一个组件中,如果两个输入具有相同的 formControlName,这也没有错,只有您要更改的那个才会改变。

子组件上有一个解决方法

应用子

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

来自父母或孩子的任何更改都将触发form.patchValue,这将更新 UI

演示


推荐阅读