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

【Element UI排序】JavaScript 的表格排序sortable=“custom“和 @sort-change

目录

  • 一、elementUI排序功能实际案例
  • 二、 实例2
  • 三、 实例3

Sortable — 是一个 JavaScript 库,用于在现代浏览器和触摸设备上对拖放列表进行重新排序。

一、elementUI排序功能实际案例

表格每一项中加上sortable,可以展示排序的小图标。

在列中设置sortable属性即可实现以该列为基准的排序,接受一个Boolean,默认为false。
如果需要后端排序,需将sortable设置为custom,同时在 Table 上监听sort-change事件,在事件回调中可以获取当前排序的字段名和排序顺序,从而向接口请求排序后的表格数据。

sort-change事件:当排序发生变化时触发该事件。

<el-tablev-loading="loading":row-class-name="setRowClass":cell-class-name="setCellClass":data="dataList.rows":header-cell-style="{background:'#F7F7F7'}"borderstyle="width: 100%;"// 监听sort-change事件@sort-change="getAllProSort"><el-table-columnprop="division_name"label="部门名称"header-align="center"align="left"min-width="35%"><template slot-scope="scope"><a style="color: #26A97D;text-decoration: underline;" @click="handleDept(scope.row)">{{ scope.row.division_name }}</a></template></el-table-column><el-table-columnprop="sales"label="销售额"header-align="center"min-width="35%"align="right"// 将sortable设置为customsortable="custom"><template slot-scope="scope"><span>{{ formatData(scope.row.sales) }}</span></template></el-table-column>
    getAllProSort(order) {const that = thisif (order.order) {that.order_par = order.prop + ' ' + order.order.substring(0, order.order.indexOf('n') - 1)} else {that.order_par = 'division_no'}that.getDeptMonthBudgetDetailData()},
    getDeptMonthBudgetDetailData() {this.loading = truethis.par.order_par = this.order_parthis.par.data_type = this.scopethis.par.date_month = this.dataYearMonthgetDeptMonthBudgetDetail(this.par).then(res => {if (res.status === 'succ' && res !== null) {this.dataList = res.data} else {this.dataList = []}this.loading = false}).catch(err => {console.log(err.message)// alert('数据获取失败,请重试!')})},
data() {return {scope: 'sales',dataList: [],total: [],loading: false,par: {},date_start: '',date_end: '',// 初始化order_parorder_par: 'division_no desc'}},

二、 实例2

也可以通过 Table 的default-sort属性设置默认的排序列和排序顺序。可以使用sort-method或者sort-by使用自定义的排序规则。
在这里插入图片描述

在列中设置sortable属性即可实现以该列为基准的排序,接受一个Boolean,默认为false。可以通过 Table 的default-sort属性设置默认的排序列和排序顺序。可以使用sort-method或者sort-by使用自定义的排序规则。如果需要后端排序,需将sortable设置为custom,同时在 Table 上监听sort-change事件,在事件回调中可以获取当前排序的字段名和排序顺序,从而向接口请求排序后的表格数据。在本例中,我们还使用了formatter属性,它用于格式化指定列的值,接受一个Function,会传入两个参数:row和column,可以根据自己的需求进行处理。

<template><el-table:data="tableData"style="width: 100%":default-sort = "{prop: 'date', order: 'descending'}"><el-table-columnprop="date"label="日期"sortablewidth="180"></el-table-column><el-table-columnprop="name"label="姓名"sortablewidth="180"></el-table-column><el-table-columnprop="address"label="地址":formatter="formatter"></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 弄'}]}},methods: {formatter(row, column) {return row.address;}}}
</script>

三、 实例3

使用的default-sort属性:
取值为对象,设置表格数据的默认排序结果。

<el-table :default-sort=“{prop:‘age’,order:‘descending’}”>

prop设置排序字段,可以是没有实现可排序功能的字段。

参考文章Element UI排序
参考文章el-table实现动态数据的实时排序,一篇文章讲清楚elementui的表格排序功能,利用@sort-change实现动态数据排序,el-table排序方法,el-table可变数据的动态排序

http://www.xdnf.cn/news/570601.html

相关文章:

  • 欢乐熊大话蓝牙知识7:如何用蓝牙芯片实现一个 BLE 传感器节点?
  • SAR ADC 是选择先置位再比较,还是先比较再置位
  • 【聚合MQ管理 第一章】一个项目管理多种MQ 之 ActiveMq
  • Mac安装redis
  • epoll_wait未触发的小Bug
  • adb抓包
  • 元宇宙数字人设计大赛:往届获奖作品赏析
  • 公司OA系统中金格iWebOffice2015智能文档中间件不能用了怎么办?
  • 深入解析C++静态成员变量与函数
  • ABC 354
  • Linux上运行程序加载动态库失败
  • Redis语法大全
  • 【Flutter】创建BMI计算器应用并添加依赖和打包
  • 【HTML-5】HTML 实体:完整指南与最佳实践
  • DSP定时器的计算
  • Spring Boot集成Spring AI与Milvus实现智能问答系统
  • dali本地安装和使用
  • WSD3043 MOSFET 在吸黑头仪中的应用
  • 小数第n位--快速幂+数学
  • 软件设计师“数据流图”真题考点分析——求三连
  • System.in 的本质:输入流的方向​
  • 高效能、高可靠性——SILM94112/08-AQ可编程半桥电机驱动器
  • WordPress_Madara 本地文件包含漏洞复现(CVE-2025-4524)
  • 深入浅出:线程安全问题的原因与解决方案
  • 5月21日直播安排
  • Taro 安全区域
  • React-改变当前页class默认的样式
  • PHP 扇形的面积(Area of a Circular Sector)
  • Redis集群在NoSQL中的应用与优化策略
  • 提升加密交易效率:PumpSwap批量交易功能深度解析