0

我正在使用Angular 2中的反應形式模塊來創建一個具有多個嵌套組的表單。Angular2表單中的嵌套組?

我的「信任」的形式具有

<FormArray>this.newTrustForm.controls['contact'] 

其中的「聯繫人」組中的字段是「郵件」組陣列,我試圖在這裏找到它觸點陣列,但很可惜,沒有。我會在哪裏找到它?

<FormArray>this.newTrustForm.controls['contact'].controls['email'] 

我使用以下設置我的表單。

constructor(private _fb: FormBuilder) { } 

ngOnInit() { 
    this.newTrustForm = this._fb.group({ 
    ... 
    contact: this._fb.array([]), 
    ... 
    }); 
} 

然後我添加下面的'contact'組。

initContact() { 
    return this._fb.group({ 
    ... 
    email: this._fb.array([]), 
    ... 
    }); 
} 

然後我用同樣的方法設置initContactEmail。

+1

你應該告訴我們你是如何創建這些組的。 – Fals

+0

@Fals查看修改。 TIA。 –

+0

我沒有看到你迭代每個聯繫人來創建電子郵件組。如果你在嵌套,你應該這樣做。看看官方網站的最後一個例子:https://angular.io/docs/ts/latest/guide/reactive-forms.html#!#form-array – Fals

回答

2

你指定的contact指數:

<FormArray>this.newTrustForm.controls['contact'][INDEX]['controls']['email'] 

或(更易讀):

this.newTrustForm.get(`contact.${INDEX}.email`) as FormArray; 

此外,作爲一個建議,因爲contactemailarrays,你可以在將它們命名爲複數:contactsemails