2016-11-17 4 views
11

Ich habe eine von der Verwendung von ReactiveForms vorbereitet von Angular2/Forms vorbereitet. Diese Form hat eine Form Array-Produkte:Angular 2: Zugriff auf Daten von FormArray

this.checkoutFormGroup = this.fb.group({ 
      selectedNominee: ['', Validators.required], 
      selectedBank: ['', Validators.required], 
      products: productFormGroupArray 
     }); 

productFormGroupArray ist ein Array von FormGroup Objects.I geholt die Kontrollen, dh FormArray Objekt mit diesem:

this.checkoutFormGroup.get('products') 

Ich versuche, das Element in den Produkten zu erhalten Array bei Index i. Wie kann dies ohne Durchlaufen des Arrays durchgeführt werden?

Edit:

ich versuchte, mit zumin (index) Verfahren zur Verfügung:

this.checkoutFormGroup.get('products').at(index) 

aber dies einen Fehler erzeugt als:

Property 'at' does not exist on type 'AbstractControl'. 

Edit 2: checkoutData und fund werden vom Server empfangen.

this.checkoutData.products.forEach(product => { 
        this.fundFormGroupArray.push(this.fb.group({ 
         investmentAmount: [this.fund.minInvestment, Validators.required], 
         selectedSubOption: ['', Validators.required], 
        })) 
      }); 
+0

Bitte teilen, die zeigen, wie Sie 'productFormGroupArray' – ranakrunal9

+0

@ ranakrunal9 Herausgegeben definiert haben die Frage –

Antwort

13

Gerade Besetzung, die

var arrayControl = this.checkoutFormGroup.get('products') as FormArray; 

und alle seine Funktionen Array steuern gibt es den Code

var item = arrayControl.at(index); 
Verwandte Themen