data.sort((a, b) => {
// 属性优先级依次比较
for (const s of sortListData) {
if (!s.sortField || !s.sortOrder) continue;
const aValue = a[s.sortField];
const bValue = b[s.sortField];
if (aValue == bValue) continue;
// 值不相等时 使用mini内置排序进行排序
const sortFun = grid._dataSource._getSortFnByField(s.sortField, 'string', s.sortOrder === 'desc');
return sortFun(a, b);
}
return 0;
});
- grid._dataSource._getSortFnByField:一个指定排序规则,并且只返回1和-1,所以需要第五行和第六行的判断代码
评论区