正文
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 多列排序