element-ui中表格设置正确的排序及设置默认排序

作者:魔鬼君 时间:2024-05-09 15:25:48 

本文主要解决两个问题,第一个,在element-ui中,直接设置参数排序,达不到预期效果,预期是按照数字的大小进行排序;第二个,想对表格中某个字段设置默认的排序方式
现象:
直接设置在 el-table-column设置sortable=true,点击升序降序,结果是字符串的排序结果,不是预期的按照数字大小排序,结果如下
<el-table-column :sortable="true" label="学号" ></el-table-column>

element-ui中表格设置正确的排序及设置默认排序

element-ui中表格设置正确的排序及设置默认排序

要达到预期,需要设置sort-method
<el-table-column
   :sortable="true"
   :sort-method="sortMethod"
   prop="no"
   label="学号"
   show-overflow-tooltip
></el-table-column>
// 按照数字大小排序 方法-
sortMethod(before, after) {
 return Number(before.no) - Number(after.no);
},
// 按照数字大小排序 方法二
sortMethod(before, after) {
 return before.no.localeCompare(after.no,"en-u-kn-true")
},
预期结果如下

element-ui中表格设置正确的排序及设置默认排序

此时可能会有进一步的需求,前端设置默认的排序方式,例如:默认设置成升序,此处提供两种
1、初始化数据时,先排序再渲染(此处就不展示例子了,直接通过对数据排序就行)
2、通过调整组件参数,直接设置默认排序方式
在实践第二种设置默认排序方式的时候,遇到一个问题,直接设置default-sort={prop:'no'},基本满足默认排序的情况,但是会有不太完美的地方,初次进来点击排序表头空白处或者是点击到取消了排序效果时,不会恢复到默认的排序方式。
针对上面的情况,我们使用sort-change,监听到order不存在的时候,意思就是默认进来或者是排序效果被取消时,我们直接手动的设置一下排序方式为默认的,下面就是怎么实现
备注:order包含['ascending', 'descending', null]
参考官方文档: https://element.eleme.cn/2.10/#/zh-CN/component/table
<el-table
     ref="table"
     :data="tableData2"
     tooltip-effect="dark"
     @selection-change="handleSelectionChange"
     :header-cell-class-name="cellClass"
     width="200"
     border
     :default-sort="{prop:'no'}"
     @sort-change="sortChange"
   >
sortChange({ column, prop, order }) {
     if (!order) {
       this.$refs.table.sort("no", "ascending");
     }
   },

预期结果,初始化进入页面就默认的是升序

element-ui中表格设置正确的排序及设置默认排序

通过上面的操作,就能达到预期的效果,此文章只针对前端排序哦,个人愚见,欢迎大家指教

来源:https://blog.csdn.net/mo_gui_jun/article/details/129262702

标签:element-ui,表格,排序
0
投稿

猜你喜欢

  • Mysql CAST函数的具体使用

    2024-01-16 16:17:04
  • 解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题

    2022-12-06 16:17:37
  • PHP生成HTML静态页面实例代码

    2023-10-28 12:05:01
  • ASP常见的保留字整理(变量与表名注意不能用)

    2013-06-01 19:58:01
  • python一行输入n个数据问题

    2023-09-11 21:50:48
  • 10张动图学会python循环与递归问题

    2023-08-23 10:55:42
  • Golang Goroutine的使用

    2023-09-20 20:38:45
  • Python对象的底层实现源码学习

    2023-06-30 00:33:29
  • PHP动态生成javascript文件的2个例子

    2024-05-11 09:25:44
  • 从0到1构建vueSSR项目之node以及vue-cli3的配置

    2024-04-27 16:06:59
  • sqlserver、mysql获取连接字符串步骤

    2024-01-22 00:49:33
  • Python接口自动化之文件上传/下载接口详解

    2022-01-02 17:32:28
  • Pytorch数据拼接与拆分操作实现图解

    2021-08-01 04:37:05
  • python面试题小结附答案实例代码

    2021-05-04 13:13:08
  • python实现的config文件读写功能示例

    2021-10-11 07:28:04
  • golang 格式化输入输出操作

    2024-04-25 15:10:24
  • Python Matplotlib通过plt.subplots创建子绘图

    2022-06-03 08:23:16
  • C#连接SQL数据库和查询数据功能的操作技巧

    2024-01-19 03:31:03
  • python实现二分查找算法

    2022-08-30 21:58:54
  • 从零开始学Python第八周:详解网络编程基础(socket)

    2023-09-04 05:16:20
  • asp之家 网络编程 m.aspxhome.com