我正在尝试从绑定列表中删除项目:
<p-dataTable [value]="items">
<p-column styleClass="col-button">
<template let-item="rowData" pTemplate="body">
<button type="button" pButton (click)="remove(item)" icon="fa-remove"></button>
</template>
</p-column>
<p-column *ngFor="let item of settings.columns">
<template let-row="rowData" let-rowIndex="rowIndex" pTemplate="body">
<input [type]="item.type" [(ngModel)]="row[item.field]" class="form-control" [placeholder]="item.title">
</template>
</p-column>
</p-dataTable>
remove(data){
this.items.splice(this.items.indexOf(data), 1);
}
该项目已从项目集合中删除,但该表格始终删除最后一项。
我做错了什么?
答案 0 :(得分:4)
好的,这是primeNG 1.1.2的错误。 github有一个解决方案:
我已使用自定义rowTrackBy
修复了我的项目rowTrackBy(index: number, row: any) { return row.id; }
只是将其映射到p-dataTable的对应属性
[rowTrackBy]="rowTrackBy"
对NikitaForm说。