angular - 将新数组元素添加到表单时,自定义组件 FormControl 出错
问题描述
也许有人帮助我。我在表单中显示组件,我将 formGroup 对象从 formArray 传输到子组件。
但是当我向 formArray 添加一个新对象时,我收到一个错误“错误错误:control.registerOnChange 不是函数”,但一切正常。
我创建了 stackblitz https://stackblitz.com/edit/angular-fceyyq 也许有人会告诉我可能是什么问题,也许方法不对?
如果我在没有 ControlValueAccessor 的情况下创建组件并使用 formGroup 传输到组件对象,则不再有错误。但我不确定什么是正确的,因为我们正在从子组件管理父对象。
解决方案
使用ng-container
而不是这里div
建议的使用创建隐式模板。*ngFor
<ng-container *ngFor="let control of form.get('address'); let i = index">
<app-address [formControl]="control"></app-address>
</ng-container>
推荐阅读
- javascript - 使用 create-react-app 创建应用程序时出现 React 和 Bootstrap4 问题
- r - 通过安装较新版本来覆盖 Azure ML 中已安装的 R 包?
- c++ - 如何使用指向结构 c++ 向量的迭代器?
- amazon-s3 - 使用 Python 在 S3 中上传文件时如何动态获取文件名?
- java - jax-ws 重定向 http / https
- android - ViroCore:java.lang.NoClassDefFoundError:解析失败:Lcom/google/vr/ndk/base/GvrLayout;
- java - 在java elasticsearch中获取价格范围在最小值和最大值之间的数据
- php - SQL:无效的参数号:未定义参数
- java - 如果两者都需要在同一类中的每个 @Test 中运行,如何使用多个凭据验证登录功能[在 Maven POM Selenium 项目中]
- python - Sci-kit Learn KNN 用户自定义距离矩阵:实际值与传递值不匹配