• element表格提供了三种数据的排序方法:

    • 升序排序 ascending
    • 降序排序 descending
    • 默认排序 null

如果是前端本地排序 可设置 sort-doders 属性为 ['ascending', 'descending'] 去除默认排序具体可参考 element文档

  • 远程排序即为后端排序,后端可按照前端参数(升序、降序、页码、数量)返回所有数据中的相应数据,看代码:
<el-table :data="listData" stripe border @sort-change="sortChange" :default-sort="{prop:'createdOn', order: 'descending'}"><el-table-column prop="txCode" label="序号"></el-table-column><el-table-column prop="createdOn" label="时间" sortable="custom" width="180"></el-table-column></el-table>

注:远程排序需有列设置 sortable="custom" ,sort-change 监听点击排序的变化
本例需求为对于时间列进行排序,默认排序为倒序,要求点击排序不是升序就是降序,也就是去除element中的默认排序

  • 思路:
    排序变化会触发 sortChange 函数,并且会传进一个参数,如下:
sortChange (obj) {console.log(obj)
}

由于在上面设置 default-sort 故初始化表格的时候得到的obj为 default-sort(升降序order和需要升降序的列的属性名称prop) 设置后的obj,但下次点击就会触发element内部默认排序,如下图:全为 null 的即为默认排序

colum 为点击升降序列的信息,里面包含列的属性(如宽度、排序方式、lable 等)
要想去除默认排序,只需改变obj中的值为上次相反的值即可

data () {filtrate: {sequence: '',sequenceOrder: ''},sortColumn: ''
},
sortChange (obj) {if (obj.order === null) {// 后面点击会进入默认排序,给obj赋相反的值,然后根据新值请求数据,再返回obj,界面就会按照设置发生变化this.filtrate.sequence === 'descending' ? obj.order = 'ascending' : obj.order = 'descending'obj.prop = this.filtrate.sequenceOrderobj.column = this.sortColumn// 注意:还要改变column里面的排列方式orderobj.column.order = obj.order// 以下两行即为请求后台接口,把obj里的信息传递进去即可this.pageNo = 1this.getBuyList()return obj}// 初始化第一次进来就会走这里,给sortColumn、filtrate.sequence、filtrate.sequenceOrder赋值再请求数据this.sortColumn = ''this.sortColumn = obj.columnthis.filtrate.sequence = obj.orderthis.filtrate.sequenceOrder= obj.propthis.pageNo = 1this.getBuyList()
}

总结:我们知道 sort-change 返回一个对象,里面包含三个参数,分别为 order prop column 点击默认这三个值全部为 null ,所以我们只需改变点击列的相应值的排列方式 order 即可,因为 column 里也包含了 order 故也要改变里面的 order 为上次排序相反的排序 ,这样就实现了升序和降序的切换

element 表格排序之远程排序去除默认排序相关推荐

  1. mysql查询默认排序规则_深究 mysql 默认排序, order by 的顺序【收藏】

    mysql 语句中如果没有使用 order by 来排序,通常会用 主键正序排列,但是有的时候不是这样,来看一个实例. 实例 群友问:请教一个问题,mysql 默认排序问题,当sql 语句 的排序没有 ...

  2. mysql 2个排序规则_基于mysql 默认排序规则的坑

    mysql默认varchar类型是对大小写不敏感(不区分),如果想要mysql区分大小写需要设置排序规则: utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写. utf8_genera ...

  3. element表格排序(带有数值、字符串)解决排序错乱

    目录 问题描述 解决步骤 1. 在el-tabel中添加 `@sort-change="handleSort"` 2. methods中添加方法 3. 验证 问题描述 elemen ...

  4. NetTiers学习笔记09---RADGrid + EntityDataSource设置默认排序, 及表格自动排序,分页的方法...

    前段时间虽然解决了排序和分页的问题,但始终没有解决默认排序的问题, 起初一直把焦点放在EntityDataSource的排序默认值上,但始终搞不定, 今天又花了不少时间Google和研究,终于通过设置 ...

  5. 基于Metronic的Bootstrap开发框架经验总结(16)-- 使用插件bootstrap-table实现表格记录的查询、分页、排序等处理...

    在业务系统开发中,对表格记录的查询.分页.排序等处理是非常常见的,在Web开发中,可以采用很多功能强大的插件来满足要求,且能极大的提高开发效率,本随笔介绍这个bootstrap-table是一款非常有 ...

  6. jggrid使用multiselect时修改默认排序

    jggrid使用columnChooser时,该插件使用的排序方式是根据string的大小比较排序. colNames:['编号','处理时间','名称','类型','编写单位','编写人','处理结 ...

  7. java删除有序数组中的重复元素_java去除已排序数组中的重复元素

    题目描述 给定一个已排序的数组,去除数组中的重复元素,只保留一个重复的元素,并且返回新的数组长度. 要求: 不要给数组分配额外的空间,你必须使用常量的内存大小进行原地操作. 例如: 给出数组A=[1, ...

  8. Magento: 设置产品列表默认排序方式 How to sort Magento products by date added as default

    方法一: 安装插件 Sort By Date(https://www.magentocommerce.com/magento-connect/sort-by-date.html) 方法二: 非插件 T ...

  9. linux命令ls -l的默认排序方式

    差不多快实现完了ls -l,但是在测试阶段发现一个问题,对于包含[a-ZA-Z]之外的字符,系统的排序方式并不一样. 很想了会儿,总算发现原来它的排序方式是无视[a-ZA-Z]之外的字符的 至于怎么发 ...

最新文章

  1. ats 5.3.2中的header-rewrite插件调研
  2. Spring Cache抽象-使用SpEL表达式
  3. cgi硬盘安装增强版怎么用_天津专业补光灯怎么用-安装
  4. pytorch dataset读取数据流程_高效 PyTorch :如何消除训练瓶颈
  5. 冒泡排序 和 归并排序
  6. 报错,Unknown custom element: <DeviceVendorStatistics> - did you register the component correctly? For
  7. 如何给UNIX域Socket套接字抓包?
  8. a算法和a*算法的区别_机器人路径规划算法,全局路径规划与局部路径规划究竟有哪些区别?...
  9. VMware 虚拟机桥接网络设置
  10. 如何制定软件项目进度表
  11. 学习笔记—网络规划和设计
  12. 安全事故 没有“高级失误”
  13. windows 文件夹正在使用 “操作无法完成,因为其中的文件夹或文件已在另一程序中打开“ 解决办法
  14. 发那科2021参数_FANUC常用参数
  15. 一个人靠不靠谱,就看这三点: 凡事有交代,件件有着落,事事有回音
  16. 《简单法则》读书笔记
  17. 用计算机进行绘画教案,电脑绘画的教案
  18. 安卓8.0 android系统,谷歌安卓8.0重磅来袭!国产定制系统有必要马上适配吗?
  19. VScode Extension activation failed的解决方法
  20. Jetson Nano 系列之:刷机、瘦身、部署应用

热门文章

  1. 区块链下半场:产品为王
  2. 魔兽地图编辑器中触发器中文命名规则
  3. python 的插槽(__slot__)和命名元组
  4. 介绍具有Synty Studios的Asset Store Mega Bundles
  5. 一、多线程20(黑马程序员笔记-自用)
  6. 给好朋友用代码画一个爱心吧
  7. 程序员的副业: 微信小程序
  8. dell inspiron 只有一个飞行模式 没有wifi_开飞行模式能帮手机充电加快?
  9. HashMap原理漫画
  10. Origin——绘制带误差棒(条)(error bar)的曲线