如何获取ngFor中的复选框值?在角2+?
问题描述:
Hy,我需要通过在ngFor中的复选框检查来收集选定的值。以下是代码。如何获取ngFor中的复选框值?在角2+?
<tr *ngFor="let item of items; let index = index;">
<td>{{item.bed}}</td>
<td>{{item.size}}</td>
<td>{{item.name}}</td>
<td>
<input type="checkbox"
name="domain-{{item.bed}}"
[(ngModel)]="items[index].id"
>
</td>
</tr>
<button (click)="OnSelect()">Select</button>
在组件中,我试图像这样访问。
component.ts
items = [];
ngOnInIt() {
this.items = somepromise.then((items) => this.items);
}
OnSelect() {
console.log(this.items);
}
在选择,我看到打印出来,而选中的复选框值项的所有值。有什么想法吗 ?
答
<td>
<input type="checkbox"
name="item-{{item.bed}}"
#myItem
(change)="OnCheckboxSelect(item.id, $event)"
>
</td>
在组件:
@ViewChildren('myItem') item;
selectedIds = [];
OnCheckboxSelect(id, event) {
if (event.target.checked === true) {
this.selectedIds.push({id: id, checked: event.target.checked});
console.log('Selected Ids ', this.selectedIds);
}
if (event.target.checked === false) {
this.selectedIds = this.selectedIds.filter((item) => item.id !== id);
}
}
我能得到什么,我想用这种方式。
请参阅我的更新回答 – Vega