如何在嵌套的FormControlGroup中引用FormControlName?

时间:2019-04-07 14:26:26

标签: angular

我正在尝试从嵌套FormGroup中引用FormControl。

下面,我能够正确引用 名字

this.emailForm = this.fb.group({
    firstName: new FormControl()
})

<input formControlName="firstName" />

但是当我用另一个FormGroup包装firstName时,相同的引用不起作用。 下面,我尝试引用它,但是它不起作用:

this.emailForm = this.fb.group({
    personalInfo: new FormGroup({
        firstName: new FormControl()
    })

})

<input formControlName="['personalInfo'].firstName" />

这是我收到的错误消息:

  

错误:找不到名称为“ [personalInfo] .firstName”的控件

有人可以告诉我需要进行哪些更改以便引用嵌套的FormControl吗?

1 个答案:

答案 0 :(得分:1)

您没有以正确的方式引用控件:

在要引用表单中嵌套组的控件之前,从['personalInfo']属性中删除formControlName并添加具有div属性和值的formGroupName='personalInfo'。 / p>

<div formGroupName='personalInfo'>
<input formControlName="firstName" />

[FormGroupName文档](https://angular.io/api/forms/FormGroupName)中的更多信息