elementui框架的el-table前台分页后全部排序的问题?

涉及的官方文档说明

Table Events
事件名说明参数
sort-change当表格的排序条件发生变化的时候会触发该事件{ column, prop, order }
Table Methods
方法名说明参数
sort手动对 Table 进行排序。参数prop属性指定排序列,order指定排序顺序。prop: string, order: string

实现前台分页后全部排序

  1. 通过向el-table增加@sort-change事件,向el-table-column增加sortable='custom'属性,向methods实现sortChange方法,可以实现数据在前台分页后的全部数据排序(不止本页排序)。

    <el-table            
    :data="tableData.slice((pageIndex-)*pageSize,pageIndex*pageSize)"
    @sort-change="sortChange">
    ......
    
    <el-table-column prop="reserve" label="库存量" sortable='custom'></el-table-column>
    ......
    
    sortChange(column) {
      this.pageIndex = 1; // 排序后返回第一页
      if (column.order === "descending") {
        this.tableData.sort((a, b) => b[column.prop] - a[column.prop]);
      } else if (column.order === "ascending") {
        this.tableData.sort((a, b) => a[column.prop] - b[column.prop]);
      }
    }

2. 对于其中升序降序实现的方法我没有看懂,有没有大佬可以解释一下...万分感谢!

//降序
this.tableData.sort((a, b) => b[column.prop] - a[column.prop]);
//升序
this.tableData.sort((a, b) => a[column.prop] - b[column.prop]);
阅读 5.7k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题