访问嵌套的响应式表单组中的数组,linting错误

时间:2018-03-22 13:50:18

标签: angular typescript

我正在尝试创建一种从动态表单中删除行的方法,但我无法定位数组。

所以表单组是这样的:

this.piForm = this.fb.group({
    milestoneSaveModel: this.fb.group({
        milestonesToCreate: this.fb.array([this.mileStoneCreate()]),
    }),
});

然后我的删除方法到目前为止:

deleteRow(index: number) {
    const control = <FormArray>this.piForm.controls['milestoneSaveModel'].controls['milestonesToCreate'];
    control.removeAt(index);
}

我的linter告诉我Property 'controls' does not exist on type 'AbstractControl'.

然而,当我在浏览器中触发它时它确实有效。那么如何修复掉毛错误呢?

2 个答案:

答案 0 :(得分:2)

请改用此语法:

this.piForm.get('milestoneSaveModel').get('milestonesToCreate')

答案 1 :(得分:0)

您需要将控件类型转换为FormArray。

form.get('milestoneSaveModel').get('milestonesToCreate') as FormArray;