在Angular4中使用FormArray时,可能会遇到一些奇怪的行为。下面是一些解决这些问题的方法:
import { Component } from '@angular/core';
import { FormGroup, FormControl, FormArray } from '@angular/forms';
@Component({
selector: 'app-your-component',
templateUrl: './your-component.component.html',
styleUrls: ['./your-component.component.css']
})
export class YourComponent {
form: FormGroup;
constructor() {
this.form = new FormGroup({
formArray: new FormArray([])
});
}
}
formArrayName
指令将FormArray与HTML元素关联起来,并使用*ngFor
指令循环遍历FormArray中的控件。
<form [formGroup]="form">
<div formArrayName="formArray">
<div *ngFor="let control of form.get('formArray').controls; let i = index">
<input [formControlName]="i" type="text">
</div>
</div>
</form>
push
和removeAt
方法。
addControl() {
(this.form.get('formArray') as FormArray).push(new FormControl(''));
}
removeControl(index: number) {
(this.form.get('formArray') as FormArray).removeAt(index);
}
<button (click)="addControl()">Add Control</button>
<button (click)="removeControl(i)">Remove Control</button>
这样,你就可以在Angular4中使用FormArray了。FormArray是一个有用的工具,可以用于处理动态表单控件的集合。它可以用于创建复杂的表单,例如重复的表单字段或表单字段的集合。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云