我已经准备好使用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/

10-11 11:27