【发布时间】:2018-10-18 12:04:34
【问题描述】:
我想用表单数组创建表单。但是我失败了
Cannot find control with path: 'strains -> i'
但我的strainsForm包含strains。
模块(TS)
strainForm = new FormGroup({
name: new FormControl('', Validators.required),
daysToHarvest: new FormControl('', Validators.required)
})
strainsForm = new FormGroup({
strains: new FormArray([this.strainForm])
})
查看 (HTML)
<form [formGroup]="strainsForm" (ngSubmit)="onSubmit()">
<section class="strains container-fluid">
<div class="row">
<div class="col-lg-4">
<h3>Strains</h3>
</div>
</div>
<article class="row">
<div class="col-xs-12 col-sm-12 light-green">
<fieldset class="col-xs-12 col-sm-12 light-green" formArrayName="strains">
<!--<article class="strain" *ngFor="let strain of chamber.strains; let index = index" formArrayName="strains">-->
<article class="strain" *ngFor="let strain of chamber.strains; let i = index" formGroupName="i">
我找到的例子都使用了Formbuilder:
- https://angular.io/guide/reactive-forms
- https://angularfirebase.com/lessons/basics-reactive-forms-in-angular/
- https://alligator.io/angular/reactive-forms-formarray-dynamic-fields/
但不要展示如何使用formArray 定义表单。还是需要 FormBuilder 来执行此操作?
【问题讨论】:
-
嗨,他们也使用 formBuilder,所以它只是可以使用 formBuilder(而不是语法
new FormArray()?
标签: angular