从PrimeNG数据表中删除项目

时间:2017-01-01 03:21:06

标签: angular primeng

我正在尝试从绑定列表中删除项目:

<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);
}

该项目已从项目集合中删除,但该表格始终删除最后一项。

我做错了什么?

1 个答案:

答案 0 :(得分:4)

好的,这是primeNG 1.1.2的错误。 github有一个解决方案:

我已使用自定义rowTrackBy

修复了我的项目
rowTrackBy(index: number, row: any) { return row.id; }

只是将其映射到p-dataTable的对应属性

[rowTrackBy]="rowTrackBy"

对NikitaForm说。

https://github.com/primefaces/primeng/issues/1679