我在p-table列中有一个如下所示的数据
太阳一号, 太阳二号, 不,不,不. 太阳-11, 太阳-12,
在进行排序时,它的行为是异常的.它不是根据破折号后的数字进行排序.如何用这种格式实现排序.
我try 添加自定义排序
html
<p-table sortFunction)="customSort($event)" [customSort]="true"></p-table>
个
.ts
customSort(event: SortEvent) {
event.data.sort((data1, data2) => {
let value1 = data1[event.field];
let value2 = data2[event.field];
let result = null;
if (value1 == null && value2 != null)
result = -1;
else if (value1 != null && value2 == null)
result = 1;
else if (value1 == null && value2 == null)
result = 0;
else if (typeof value1 === 'string' && typeof value2 === 'string')
result = value1.localeCompare(value2);
else
result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;
return (event.order * result);
});
}
在这里,我链接了类似问题的堆栈闪电战代码: https://stackblitz.com/edit/primeng-tablesort-demo-rfn6zn?file=src%2Fapp%2Fproductservice.ts,src%2Fassets%2Fproducts-small.json个