【发布时间】:2019-12-10 18:01:49
【问题描述】:
我正在尝试向表单添加行。每行有 3 个输入字段。
这是我到目前为止所做的。
export class MedicationGrid {
title1:string;
title2:string;
title3:string;
}
组件html
<li class="am-row" *ngFor="let dynamic of dynamicArray; let i = index;">
<div class="medication-name">
<input type="text" class="form-control am-medicine" placeholder="Medicine" [(ngModel)]="dynamicArray[i].title1" name="medicine" required />
</div>
<div class="medication-dosage">
<input type="text" class="form-control am-dosage" placeholder="Dosage" [(ngModel)]="dynamicArray[i].title2" name="dosage" />
</div>
<div class="medication-frequency">
<input type="text" class="form-control am-frequency" placeholder="Frequency" [(ngModel)]="dynamicArray[i].title3" name="frequency" />
</div>
<div class="medication-add">
<img src="../../../assets/img/actionModal/add.png" (click)="addMedicationRow(i)" />
</div>
</li>
组件.ts
ngOnInit() {
this.newDynamic = {title1:"", title2:"", title3:""};
this.dynamicArray.push(this.newDynamic);
}
addMedicationRow(index) {
this.newDynamic = {title1:"", title2:"", title3:""};
this.dynamicArray.push(this.newDynamic);
return true;
}
我可以用它添加新行。但问题是,当我在字段中输入一些数据并单击添加按钮时,所有数据都随着新行的插入而消失。我该如何解决这个问题?
【问题讨论】:
-
为此使用响应式表单。本指南可能会有所帮助:alligator.io/angular/reactive-forms-formarray-dynamic-fields
-
查看 StackOverflow 问题Angular: How to dynamically add FormControl to FormArray on button click
标签: angular