elTable sortable 问题

476 阅读1分钟

问题描述

  • el-table-column的sort-orders设置成['ascending', 'descending']
  • click的时候还是会出现null

分析 出现的原因

  • 源码 click绑定多个 触发的时候可能点击到 <i> Snipaste_2023-08-01_22-45-08.png Snipaste_2023-08-01_22-47-35.png

解决方案

<el-table
ref="elTable"
:default-sort="{ prop: 'date', order: 'descending' }"
@sort-change="sortChange"
></el-table>
mounted() {
  this.changeDefaultSort();
},
changeDefaultSort() {
  let { handleSortClick, toggleOrder } =
  this.$refs.elTable.$refs.tableHeader;
  let a = function (e, column) {
    e.preventDefault();
    let { sortOrders, order } = column;
    let newOrder = toggleOrder({ order, sortOrders });
    handleSortClick(e, column, newOrder);
  };
  this.$refs.elTable.$refs.tableHeader.handleSortClick = a;
  this.$refs.elTable.$refs.tableHeader.$forceUpdate();
}