el-table 辅助排序(解决空值时排序错乱问题)

/**
 ** el-table 辅助排序(解决空值时排序错乱问题)
 * tableData 待排序数据
 * column 当前排序规则
 * return 排序后的数据
 */
export const tableSortChange = (tableData=[], column={}) => {
  // console.log('--tableSortChange--', tableData, column)
  if(column.order !== null) {
    let data = [];
    let empData = [];
    //把空值和有值分两端放,table组件就可以处理排序了
    tableData.forEach((item, i) => {
      if(item[column.prop]) {
        data.push(item);
      } else {
        empData.push(item);
      }
      if(!item.hasOwnProperty('index')) {
        item.index = i; //记录原始顺序
      }
    });
    return [].concat(empData, data);
  } else {
    //不排序时
    tableData.sort((a, b) => {
      return a.index - b.index;
    });
    return tableData;
  }
};
posted @   djzz  阅读(822)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示