当前位置: 首页 > news >正文

el-table表格进行排序 清除排序和清除排序箭头的高亮图标

el-table表格进行排序 & 清除排序和清除排序箭头的高亮图标

1、进行排序

效果图

在这里插入图片描述

代码

<template>
  <el-table
    ref="filterTable"
    :data="tableData"
    border
    :max-height="maxHeight"
    :highlight-current-row="true"
    @row-dblclick="rowDblClick"
    @sort-change="changeTableSort"
    style="width: 100%"
    :default-sort = "{prop: 'date', order: 'descending'}"
    >
    <el-table-column
      prop="date"
      label="日期"
      :sortable="'custom'"
      show-overflow-tooltip
      width="180">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名"
      sortable
      width="180">
    </el-table-column>
    <el-table-column
      prop="address"
      label="地址"
      :formatter="formatter">
    </el-table-column>
  </el-table>
</template>

<script>
  export default {
    data() {
      return {
        maxHeight: 460px,
        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 弄'
        }]
      }
    },
    methods: {
      formatter(row, column) {
        return row.address;
      },
      async rowDblClick(row) {
         consologe.log('双击获取当前行信息',row)   
      },
    //排序触发事件
    changeTableSort({order}) {
      if (order === 'ascending') {
        this.tableData.sort((a, b)=> a.name.localeCompare(b.name, 'zh')); //a~z 排序
      } if (order === 'descending') {
        this.tableData.sort((a, b)=> b.name.localeCompare(a.name, 'zh')); //z~a 排序
      }
    },
    }
  }
</script>

在列中设置sortable属性即可实现以该列为基准的排序,接受一个Boolean,默认为false。可以通过 Table 的default-sort属性设置默认的排序列和排序顺序。

  • sortable : 对应列是否可以排序,如果设置为 ‘custom’,则代表用户希望远程排序,需要监听 Table 的 sort-change 事件。字符串/布尔值,true, false, ‘custom’ 默认false
  • default-sort : 默认的排序列的 prop 和顺序。它的prop属性指定默认的排序的列,order指定默认排序的顺序。 对象类型。order: ascending-升序, descending-降序。如果只指定了prop, 没有指定order, 则默认顺序是ascending。

注释

  • row-dblclick : 当某一行被双击时会触发该事件, 参数 (row, column, event)
  • border : 是否带有纵向边框 ,布尔值,默认false
  • max-height : Table 的最大高度。合法的值为数字或者单位为 px 的高度。 字符串/数字类型 , —
  • sort-change : 当表格的排序条件发生变化的时候会触发该事件 ,参数 { column, prop, order }

2、清除排序和清除排序箭头的高亮图标

排序后,切换日期或其他条件重新渲染表格数据,这时候需要去除排序箭头高亮样式

两步解决以上问题

1、第一步:增加ref=“table1”

<el-table
     :row-class-name="tableRowClassName"
     :data="resultAreaList1"
     style="width: 100%"
     @sort-change="changeTableSort1($event)"
     ref="table1"
>

2、第二步,clearSort(如果表格用了v-if控制,先判断一下表格是否存在)

if (this.$refs.table1) {
     this.$refs.filterTable.clearSort(); // 清除排序
     this.$refs.filterTable.columnConfig.order = '';  // 清除排序高亮图标
}

注:

不管是el-table自带的排序还是远程排序,使用官方文档中的clearSort方法都无法去除排序的高亮效果。只能通过把el-table-column组件中的columnConfig的order字段设置为空才能清除高亮

相关文章:

  • 5G网络用户面时延测量
  • StreamSets解析MySQL Binlog写入Kafka
  • android开发获取View坐标位置的几种方式
  • antv x6连线与取消连线的操作+自定义连接桩+节点选择/框选
  • TIA博途V17中ProDiag功能的使用方法示例(一)PLC数据类型的监控
  • 面试常见场景题智力题概率题
  • 【顶顶通呼叫中心中间件(mod_cti 基于 FreeSWITCH)-拨号方案和路由配置】
  • M1Mac使用UTM虚拟机最小化安装x86_64架构的Archlinux
  • sql2java:WhereHelper基于Beanshell(bsh)动态生成SQL语句
  • 谷歌推广详细教程,Google Ads广告投放指南
  • 蔡甸17万亩粮田丰收 国稻种芯:夏汛蓄洪水护住28天抗旱期
  • 比赛团队队名及口号
  • MECT4CNER 代码遇到的问题
  • 18. SAP ABAP OData 服务嵌套创建功能的实现步骤(Create Deep)
  • 优炫软件中标西南民族大学项目,护航教育行业主机安全
  • JavaScript-如何实现克隆(clone)函数
  • android图片蒙层
  • CSS中外联样式表代表的含义
  • ECMAScript6(0):ES6简明参考手册
  • Java精华积累:初学者都应该搞懂的问题
  • orm2 中文文档 3.1 模型属性
  • PAT A1092
  • Web设计流程优化:网页效果图设计新思路
  • 关于for循环的简单归纳
  • 七牛云假注销小指南
  • 前端设计模式
  • 如何进阶一名有竞争力的程序员?
  • 学习使用ExpressJS 4.0中的新Router
  • 一个完整Java Web项目背后的密码
  • 怎么将电脑中的声音录制成WAV格式
  • #includecmath
  • (2.2w字)前端单元测试之Jest详解篇
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (四)模仿学习-完成后台管理页面查询
  • (已解决)什么是vue导航守卫
  • (转) ns2/nam与nam实现相关的文件
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .htaccess 强制https 单独排除某个目录
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 编写一个可以异步等待循环中任何一个部分的 Awaiter
  • .NET中GET与SET的用法
  • .NET中统一的存储过程调用方法(收藏)
  • [.net]官方水晶报表的使用以演示下载
  • [2018-01-08] Python强化周的第一天
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林
  • [52PJ] Java面向对象笔记(转自52 1510988116)
  • [Android开源]EasySharedPreferences:优雅的进行SharedPreferences数据存储操作
  • [C# 开发技巧]实现属于自己的截图工具
  • [cogs2652]秘术「天文密葬法」
  • [C语言]编译和链接