2017-09-30 69 views
0

說我有以下formGroup結構:嵌套角表單組 - 表格必須反映HTML結構

userGroup = { 
    name, 
    surname, 
    address: { 
     firstLine, 
     secondLine 
    } 
} 

這迫使我寫HTML類似以下內容:

<form [formGroup]="userGroup"> 
    <input formControlName="name"> 
    <input formControlName="surname"> 

    <div formGroupName="address"> 
     <input formControlName="firstLine"> 
     <input formControlName="secondLine"> 
    </div> 
</form> 

比方說,只是爲了示例,您被迫編寫HTML,如下所示:

<form [formGroup]="userGroup"> 
    <input formControlName="name"> 
    <input formControlName="surname"> 

    <div formGroupName="address"> 
     <input formControlName="firstLine"> 
    </div> 

    <hr> 
    <div formGroupName="someOtherGroup"> 
     <input id="problemSecondLine" formControlName="???.secondLine"> 
    </div> 
</form> 

有沒有辦法,強制id=problemSecondLine的字段在userGroup -> address -> secondLine之下,即使在視覺上,我別無選擇,只能將它放在這個特定的DIV下?

我想我可以通過ngModel手動更新 - 但我試圖找到最乾淨的方式。

回答

0

可以使用formControl指令,而不是formControlName

<input id="problemSecondLine" [formControl]="userGroup.get('address.secondLine')"> 

Plunker Example