【发布时间】:2019-03-20 17:30:43
【问题描述】:
美好的一天。
我寻找了解决方案,尽管有一个与我所问的问题相似的观点,但我确信这个问题更独特,而不是重复。
这是我的 html 表单:
<div class="form-group col-md-6" formGroupName="schema">
<div formArrayName="currencies">
<input type="text" class="form-control" id="percentage" formControlName="percentage" placeholder="Discount %*" required>
</div>
</div>
这是我的 ts formBuilder。
this.createPromo = this.fb.group({
type: ['promotion'],
name: ['', Validators.required],
description: ['', Validators.required],
enabled: ['', Validators.required],
promotion_type: ['', Validators.required],
start: ['', Validators.required],
end: ['', Validators.required],
schema: this.fb.group({
currencies: this.fb.array([
this.fb.group({
percentage: '',
currency: 'ZAR'
})
])
}),
});
所以我希望我的表单作为分组数组提交。但是控制台中的错误如下Cannot find control with path: 'schema -> currencies -> percentage',因此我无法提交我的表单,因为即使我输入了一个数字,percentage 也是空的。
【问题讨论】:
-
你需要一个包装
div和formArrayName="currencies"并在里面另一个[formGroup]="i"我将是你循环通过的数组元素的索引,然后在里面,你会有你的formControlName="percentage"和formControlName="currency"
标签: angular angular-reactive-forms formarray