当前位置: 首页 > 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可变数据的动态排序

相关文章:

  • nlohmann json:检查类型并取出数据
  • 深入解析C++静态成员变量与函数
  • 网络安全之身份验证绕过漏洞
  • 前沿技术:如何从多模态文件中自动提取有效信息?
  • 学习路之uniapp--unipush2.0推送功能--给自己发通知
  • PostGIS实现栅格数据导出PNG应用实践【ST_AsPNG 】
  • 【Redis8】最新安装版与手动运行版
  • springboot3+vue3融合项目实战-大事件文章管理系统-更新文章分类和增加文章分类优化-分组校验
  • FlashAttention:传统自注意力( Self-Attention)优化加速实现
  • BEVDet
  • 实战5:个性化数字艺术生成与销售
  • 【泛微系统】后端开发Action常用方法
  • 项目交付标准不明确,如何确保验收顺利
  • 谷歌I/O 2025 完全指南:由Gemini开创的AI新时代及其对我们未来的影响
  • Bently Nevada 3500/61 非隔离I/O模块 (133819-02)
  • c++11特性——可变参数模板及emplace系列接口
  • 电子电路:怎么理解放大电路中集电极电流Ic漂移?
  • 命令行删除node_modules
  • 系统工程与一般系统理论 | 技术 / 应用 / 跨领域认知融合
  • 时源芯微|六大步骤解决EMC问题
  • 如何做1个手机网站/网页优化seo公司
  • 合肥网站设计建/seo外包收费
  • 有需求或做任务赚钱的网站么/贵州seo培训
  • 邮轮哪个网站是可以做特价胃肠的/怎么做一个免费的网站
  • seo顾问是啥/成都seo的方法
  • 网站建设作业指导书/seo网站排名优化服务