我已经准备好使用angular2 / forms提供的ReactiveForms。此表单具有一个表单数组产品:
this.checkoutFormGroup = this.fb.group({
selectedNominee: ['', Validators.required],
selectedBank: ['', Validators.required],
products: productFormGroupArray
});
productFormGroupArray是FormGroup对象的数组。我使用以下方法获取控件,即FormArray对象:
this.checkoutFormGroup.get('products')
我正在尝试将产品数组中的元素获取到索引
i
。如何做到不遍历数组呢?编辑:
我尝试了可用的at(index)方法:
this.checkoutFormGroup.get('products').at(index)
但这会产生如下错误:
Property 'at' does not exist on type 'AbstractControl'.
编辑2:
从服务器接收checkoutData和资金。
this.checkoutData.products.forEach(product => {
this.fundFormGroupArray.push(this.fb.group({
investmentAmount: [this.fund.minInvestment, Validators.required],
selectedSubOption: ['', Validators.required],
}))
});
最佳答案
只需将控件转换为数组
var arrayControl = this.checkoutFormGroup.get('products') as FormArray;
它的所有功能都在那里
var item = arrayControl.at(index);
关于angular - Angular 2:从FormArray访问数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40647073/