使用element table表格实现后端排序

 1,在el-table-colum中将sortables设置为custom,在table中监听sort-chang事件,在事件获取当前执行的排序操作.

 2.在sort-chang事件里根据执行的排序操作,对字段进行处理,然后传输给后端.

 小伙伴不太懂的可以打印sortChange里的参数了解一下~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这里给出一个使用 Element UI 的 el-table 进行多列排序,并使用后端排序的代码示例: HTML模板部分: ```html <el-table :data="tableData" :default-sort="defaultSort" :sort-method="sortMethod"> <el-table-column prop="name" label="姓名" sortable="custom"></el-table-column> <el-table-column prop="age" label="年龄" sortable="custom"></el-table-column> <el-table-column prop="score" label="成绩" sortable="custom"></el-table-column> </el-table> ``` JavaScript部分: ```javascript export default { data() { return { tableData: [], // 表格数据 defaultSort: { // 默认排序 prop: 'name', order: 'ascending' }, sortColumns: [] // 多列排序的列属性数组 } }, methods: { // 多列排序方法 sortMethod(a, b) { for (let i = 0; i < this.sortColumns.length; i++) { const column = this.sortColumns[i] const prop = column.prop const order = column.order // 比较函数 const compareFn = (x, y) => { const a = x[prop] const b = y[prop] const result = a === b ? 0 : (a > b ? 1 : -1) return order === 'ascending' ? result : -result } const result = compareFn(a, b) if (result !== 0) { return result } } return 0 }, // 排序列变化回调函数 handleSortChange({ prop, order }) { // 清空之前的排序列 this.sortColumns = [] // 添加当前的排序列 if (prop && order) { this.sortColumns.push({ prop, order }) } // 发送后端排序请求 this.fetchData() }, // 后端排序数据请求 fetchData() { const params = { sortColumns: this.sortColumns } // 发送请求并更新表格数据 // ... } } } ``` 解释: 1. 在 el-table-column 中设置 sortable 属性为 custom,表示使用自定义排序方式。 2. 在 el-table 中设置 default-sort 属性为默认排序方式,并设置 sort-method 属性为多列排序方法。 3. 在多列排序方法中,遍历 sortColumns 数组,按照列属性和排序方式进行排序比较。 4. 在 handleSortChange 回调函数中,监听排序列变化事件,清空之前的排序列,添加当前的排序列,并发送后端排序请求。 5. 在 fetchData 函数中,发送后端排序请求,传递 sortColumns 参数,更新表格数据。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值