如何在 Angular 2 中创建数组文本框以及如何将数组文本框值发送到组件
How do I create array text boxes in Angular 2 and How to send array text boxes values to component
我正在使用响应式表单并想创建一些数组字段,例如
<input type="text" formControlName="prices[]" id="" class="form-control price-packages">
或者你可以在这里看到我的表格:
<form [formGroup]="createPackageForm" (ngSubmit)="createPackage(createPackageForm.value)">
<input type="text"
formControlName="prices[]"
class="form-control price-packages"/>
<input
type="text" formControlName="prices[]" class="form-control price-packages">
<input type="text"
formControlName="prices[]"
class="form-control price-packages"/>
<input
type="text" formControlName="prices[]" class="form-control price-packages"/>
<input type="submit"
class="button btn btn-success"
value="Submit"/>
</form>
请帮帮我。
您要使用 FormArray 而不是 FormControl。
在您的 html 更改中:
<form [formGroup]="createPackageForm" (ngSubmit)="createPackage(createPackageForm.value)">
<div formArrayName="prices">
<div *ngFor="let price of createPackageForm.get('prices').controls; let r=index;">
<div [formGroupName]="r">
<td><input type="text" formControlName="price-package"></td>
</div>
</div>
</div>
</form>
并且在您的 ts 中,您需要将 FormArray 添加到您的 createPackageForm 中。
this.createPackageForm.addControl('prices', new FormArray());
查看这篇文章了解更多详情:
https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2
我正在使用响应式表单并想创建一些数组字段,例如
<input type="text" formControlName="prices[]" id="" class="form-control price-packages">
或者你可以在这里看到我的表格:
<form [formGroup]="createPackageForm" (ngSubmit)="createPackage(createPackageForm.value)">
<input type="text"
formControlName="prices[]"
class="form-control price-packages"/>
<input
type="text" formControlName="prices[]" class="form-control price-packages">
<input type="text"
formControlName="prices[]"
class="form-control price-packages"/>
<input
type="text" formControlName="prices[]" class="form-control price-packages"/>
<input type="submit"
class="button btn btn-success"
value="Submit"/>
</form>
请帮帮我。
您要使用 FormArray 而不是 FormControl。
在您的 html 更改中:
<form [formGroup]="createPackageForm" (ngSubmit)="createPackage(createPackageForm.value)">
<div formArrayName="prices">
<div *ngFor="let price of createPackageForm.get('prices').controls; let r=index;">
<div [formGroupName]="r">
<td><input type="text" formControlName="price-package"></td>
</div>
</div>
</div>
</form>
并且在您的 ts 中,您需要将 FormArray 添加到您的 createPackageForm 中。
this.createPackageForm.addControl('prices', new FormArray());
查看这篇文章了解更多详情:
https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2