首页 > 解决方案 > 将新数组元素添加到表单时,自定义组件 FormControl 出错

问题描述

也许有人帮助我。我在表单中显示组件,我将 formGroup 对象从 formArray 传输到子组件。

但是当我向 formArray 添加一个新对象时,我收到一个错误“错误错误:control.registerOnChange 不是函数”,但一切正常。

我创建了 stackblitz https://stackblitz.com/edit/angular-fceyyq 也许有人会告诉我可能是什么问题,也许方法不对?

如果我在没有 ControlValueAccessor 的情况下创建组件并使用 formGroup 传输到组件对象,则不再有错误。但我不确定什么是正确的,因为我们正在从子组件管理父对象。

标签: angularangular8angular-components

解决方案


使用ng-container而不是这里div建议的使用创建隐式模板。*ngFor

<ng-container *ngFor="let control of form.get('address'); let i = index">
   <app-address [formControl]="control"></app-address>
</ng-container>


推荐阅读