如何将formControlName赋予FormArray对象-Angular 2(ReactiveFormsModule)

Dal*_*vik 6 angular angular-reactive-forms formarray

在我的应用程序中,我使用了反应式表格。在我的应用程序中,它们是一个按钮Add new Fields,单击此按钮后会添加新字段。

我可以添加新字段,但不能分配formControlName

任何人都可以向我显示正确的路径,如何formControlName向这些动态添加的字段添加内容。

这是为此的Plnkr。

yur*_*zui 6

您有的formArray数组FormGroup

因此,使用formArrayName与循环formGroupNameformControlName(itemDetail, quantity, rate...)

<table formArrayName="salesList">
    <tr>
     <th>Item Detail</th>
     <th>Quantity</th>
     <th>Rate</th>
     <th>Tax</th>
     <th>Amount</th>
    </tr>
    <!--Input controls -->
    <tr  *ngFor="let saleList of salesListArray.controls;let i = index" [formGroupName]="i">
        <td>
             <div class="col-sm-6">
                 <input class="form-control" type="text" placeholder="Item Detail" formControlName = "itemDetail"/>
             </div>
        </td>
         <td>
             <div class="col-sm-6">
                 <input class="form-control" type="text"   placeholder="0" formControlName = "quantity" />
             </div>
        </td>
         <td>
             <div class="col-sm-6">
                 <input class="form-control" type="text"   placeholder="0.00" formControlName = "rate"/>
             </div>
        </td>
         <td>
             <div class="col-sm-6">
                 <input class="form-control" type="text"   placeholder="Select a tax" formControlName = "tax"/>
             </div>
        </td>
         <td>
             <div class="col-sm-6">
                <span>{{saleList.amount}}}</span>
             </div>
        </td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

固定柱塞

也可以看看