当前位置:   article > 正文

Element UI 里的el-table表格排序_element ui table 排序

element ui table 排序

后台管理有时候会有排序的需求,如果只针对当前页进行排序,那么前端就可以实现排序,在对应需要排序的字段中,使用sortable字段即可,但是如果存在分页的情况,就只能排序展示页的内容,无法所有数据排序,这时候我们就要使用后端排序了。

一、给el-table设置事件 @sort-change="changeTableSort"

  1. <el-table v-if='activate==4'
  2. :data="tableData.body"
  3. border
  4. @sort-change="changeTableSort"
  5. >
  6. </el-table>

二、给需要排序的表格设置属性 sortable="custom"

  1. <el-table-column align="center"
  2. label="总佣金金额"
  3. prop="commissionPrice"
  4. width='150'
  5. sortable="custom"
  6. >
  7. </el-table-column>

三、声明 changeTableSort()

  1. //排序
  2. changeTableSort(column){
  3. console.log(column)
  4. if(column.order=='descending'){
  5. this.sorting='desc'
  6. }else if(column.order=="ascending"){
  7. this.sorting='asc'
  8. }
  9. this.prop=column.prop
  10. this.getTableData4()
  11. },
  12. // 邀请明细接口
  13. getTableData4() {
  14. let params = {
  15. size: this.queryParams.size, //每页显示条数
  16. current: this.queryParams.current, //当前页
  17. userNo:this.$route.query.userNo,
  18. orderBy:this.prop,
  19. sortingRules:this.sorting
  20. }
  21. this.$api.customerAccountMgmt.inviteDetail(params).then(res => {
  22. if (res.code == 200) {
  23. this.tableData.loading = false
  24. let resData = res.data
  25. this.tableData.body = resData.records
  26. this.total = resData.total;
  27. this.indexStartNum = ((this.queryParams.current) * this.size) - 1
  28. if (this.total > 0) {
  29. this.pagination = true
  30. } else {
  31. this.pagination = false
  32. }
  33. this.startRow = resData.startRow;
  34. this.endRow = resData.endRow;
  35. } else {
  36. this.common.messageTipCode(res, 'error');
  37. }
  38. })
  39. },

打印出的数据为

order:排序的方式 ascending == 升序 descending == 降序 null == 不排序

prop:排序的那个表格的字段名

我把我的接口传参贴出来,上面的代码可以结合此图进行理解。

可以根据打印出来的值,和后端让我们传给他的参数,进行处理,就能实现排序功能。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/118006
推荐阅读
相关标签
  

闽ICP备14008679号