Angular 5 - 使用@Input在ComponentGroup中传递FormGroup中的修改值时出现问题

时间:2018-06-17 10:18:50

标签: angular angular-forms formgroups

上下文

我正在尝试在两个组件之间使用相同的FormGroup,但它不能很好地工作,所以我试图找出我错在哪里。

我有2个不同的组件,其中包含用于编辑相同内容的表单,我想在组件之间切换。我们的想法是使用相同的表单组来共享组件之间的修改。

问题

父组件创建FormGroup,将其提供给组件A ,修改数据,触摸FormGroup,但是当我切换组件并通过它时对于第二个组件B FormGroup具有未触及的初始值。

我在父组件中检查了FormGroup已修改了值,并且已触及它。

我尝试过类似的调试方法:

<div *ngIf="isComponentB">
    <componentB [(form)]="formGroup" [formData]="formGroup.value"></componentB>
</div>

componentB ngOnInit

  • formData中,我可以看到 componentA
  • 中的修改后的值
  • form.value中,它是最初未触及的数据,表单标记为未触及。

我真的不明白为什么我有这种行为......就像FormGroup没有更新一样,期待它是,因为value已被更改。

关于我缺少什么的任何线索?

  

事实上,我错过了数据被重置在一个应该只初始化它的子表单中。所以我把初始化移到了更高的层次。

0 个答案:

没有答案