正文
1. 源码
<template>
<el-table :data="tableData" style="width: 100%" :header-cell-class-name='handleHeadAddClass' @sort-change='tableSortChange'>
<el-table-column prop="date" label="日期" sortable width="180">
</el-table-column>
<el-table-column prop="name" label="姓名" sortable width="180">
</el-table-column>
<el-table-column prop="address" label="地址">
</el-table-column>
</el-table>
</template>
<script>
export default {
data() {
return {
tableData: [
{
date: "2016-05-02",
name: "李小虎",
address: "上海市普陀区金沙江路 1518 弄"
},
{
date: "2016-05-04",
name: "王小虎",
address: "上海市普陀区金沙江路 1517 弄"
},
{
date: "2016-05-01",
name: "安小虎",
address: "上海市普陀区金沙江路 1519 弄"
},
{
date: "2016-05-03",
name: "王小虎",
address: "上海市普陀区金沙江路 1516 弄"
}
],
sortPropList: {}
};
},
methods: {
/**
* 报表所有表头都可以进行排序,1 升;2 降
*/
tableSortChange({ column, prop, order }) {
let sortType = undefined;
switch (order) {
case "ascending":
sortType = "1";
break;
case "descending":
sortType = "2";
break;
default:
break;
}
this.sortPropList[prop] = order;
// 获取数据
// this.$set(sortProp, 'sortType', sortType)
// this.submitFilterForm();
},
/**
* 增加多列排序
*/
handleHeadAddClass({ column }) {
if (this.sortPropList[column.property]) {
column.order = this.sortPropList[column.property];
}
}
}
}
</script>
在线地址
codepen 在线示例:element table 多列排序