我有一个动态大小的项目.对于我想要生成复选框的每个项目.我认为最好的方法是使用FormArray.
但我无法设置任何其他属性来指定动态复选框的标签.
items: Array<string> = ['Banana', 'Apple', 'Beer', 'Water'];
let checkboxArray = new FormArray([]);
this.items.forEach(item => {
let formControl = new FormControl(true);
checkboxArray.push(formControl);
})
Run Code Online (Sandbox Code Playgroud)
但正如我们在这里看到的,我只能指定formControl中复选框的值,但不能设置有关标签的任何其他信息.
一个工作的plunkr在这里:http://plnkr.co/edit/ODe5QSOEvQsQiuBzs56o?p=preview
使用普通的FormGroup.
form: FormGroup;
items: string[] = ['Banana', 'Apple', 'Beer', 'Water'];
this.form = new FormGroup({
checkboxes: new FormGroup({ }),
});
this.items.forEach(item => {
this.form.controls['checkboxes'].addControl(item, new FormControl(true));
});
Run Code Online (Sandbox Code Playgroud)
循环items而不是FormArray.
<form [formGroup]="form.controls['checkboxes']">
<div *ngFor="let item of items">
<input type="checkbox" [formControlName]="item">
<span>{{ item }}</span>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
Plnkr:http://plnkr.co/edit/qHjpejOhSfw25YHhJNqV?p=preview
| 归档时间: |
|
| 查看次数: |
5158 次 |
| 最近记录: |