2017-09-30 40 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