【发布时间】:2019-08-23 18:22:39
【问题描述】:
我在 Angular 2 应用程序中有一个数据表,我想在其中自定义对列进行排序。
<p-column field="eligible" header="Eligible" sortable="custom" (sortFunction)="sortColumn($event)"></p-column>
在我的组件文件中,我正在进行 API 调用,以根据某些逻辑从后端获取排序结果。
sortColumn(colName: any) {
let columnName = undefined !== colName.field ? colName.field : colName;
let sortObject: any = {};
if (this.sortedColumn === columnName) {
if (!this.sortAsc) {
this.sortAsc = true;
sortObject[columnName] = 'DESC';
} else {
this.sortAsc = false;
sortObject[columnName] = 'ASC';
}
} else {
this.sortedColumn = columnName;
this.sortAsc = false;
sortObject[columnName] = 'ASC';
}
this.getData(sortObject);
}
作为回报,此 API 会取回整个数据并重新排序视图。现在这里发生的事情是这个方法 sortColumn() 不断被重复调用。
谁能帮助我了解可能导致此问题的原因以及如何解决它?
【问题讨论】: