首页 > 解决方案 > 嵌套表单组找不到元素

问题描述

我有一个嵌套表单组,我设置如下:

this.detailsForm = this.formBuilder.group({
    'eventDates': [
        this.formBuilder.group({
            'startDate': [
                this.event.start
            ],

HTML看起来像

<form *ngIf="detailsForm" [formGroup]="detailsForm" (submit)="saveDetails()">
    <div formGroupName="eventDates">
        <div class="row">
            <label>Event Start</label>
        </div>
        <div class="row">
            <mat-form-field class="datepicker">
                <input matInput [matDatepicker]="eventStartDate" formControlName="startDate">

但是由于某些原因,我无法弄清楚为什么会出现此错误:Cannot find control with path: 'eventDates -> startDate. 在我有一个嵌套的表单组之前,表单就可以工作,更改表单元素名称似乎没有帮助。我不确定我的结构有什么问题。

标签: angular

解决方案


语法:

this.formBuilder.group({
  'eventDates': [something]
})

FormGroupeventDates有价值的控制创造something

我猜你正在寻找:

this.formBuilder.group({
  'eventDates': this.formBuilder.group(
       {
       'startDate': ['someValue']
       }, {
         validator: syncValidator, // validator for eventDates group
         asyncValidator: asyncValidator // async validator for eventDates group
       }
   )
})

推荐阅读