Angular - 处理formArrayName的问题

时间:2017-11-02 12:27:23

标签: angular typescript angular-reactive-forms

我正在构建一个Angular库,理想的功能是访问具有两个输入的选择器。

  • 反应形式(包含数据)
  • 一个对象文字(有关我的数据的哪些属性应获取可编辑输入字段的信息)

然后库会自动生成html。

实际问题,在使用该库的项目中(让我们称之为tester)我已经定义了反应形式。此表单在库中传递。处理数组时会出现问题。

enter image description here

在库中,我首先首先访问所需的组: [formGroup]="myForm.options.form.controls.allFriends"(似乎有效)

然后是数组: [formArrayName]="myForm.options.form.controls.allFriends.controls.friends"(抛出以下错误)

enter image description here

奇怪的是,父组件已经[formGroup]="myForm.options.form",但我无法使用formGroupName我使用formGroup(参见上面几行),因为我得到了关于没有formGroup的错误。

这有点复杂,所以如果你没有得到我想做的事情,请要求澄清。

1 个答案:

答案 0 :(得分:0)

作为docs州,formArrayName指令只需要'名称'只要您的父表单在模板中正确定义,formArray控件而不是导致该表单控件的整个表单路径。

在这里,您似乎将整个formArray对象指定为该指令[formArrayName]="expandedRowForm.options.form.controls.allFriends.controls.friends"。另外,顺便提一下,不确定expandedRowForm对象是什么。您指的是适用于您的作业中的myForm对象,[formGroup]="myForm.options.form.controls.allFriends"

检查是否有帮助。