• 一、场景
  • 二、使用
    • 1、指定Elem元素重载数据表格
    • 2、使用表对象重载数据表格
    • 3、两者的区别
  • 三、注意事项

一、场景

根据表格上的某个字段排序,相信这个场景经常用到,Layui也是支持的。说白了就是【表格重载:1-自动化渲染的重载;2-方法级渲染的重载】,我们需要传 排序字段、排序方式 给后台

  • Layui官方文档 - 数据表格监听排序切换

二、使用

1、指定Elem元素重载数据表格

  • 使用默认的方式重载表格数据
//禁用前端自动排序,以便由服务端直接返回排序好的数据
table.render({elem: '#id',autoSort: false //禁用前端自动排序。注意:该参数为 layui 2.4.4 新增//,… //其它参数省略
});//监听排序事件
table.on('sort(test)', function(obj){ //注:sort 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"console.log(obj.field); //当前排序的字段名console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)console.log(this); //当前排序的 th 对象//尽管我们的 table 自带排序功能,但并没有请求服务端。//有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:table.reload('idTest', {initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)field: obj.field //排序字段,order: obj.type //排序方式}});layer.msg('服务端排序。order by '+ obj.field + ' ' + obj.type);
});

2、使用表对象重载数据表格

  • 在这里使用自定义的表格对象tableObject重载数据
//禁用前端自动排序,以便由服务端直接返回排序好的数据
let tableObject = table.render({elem: '#id',autoSort: false //禁用前端自动排序。注意:该参数为 layui 2.4.4 新增//,… //其它参数省略
});//监听排序事件
table.on('sort(test)', function(obj){ //注:sort 是工具条事件名,test 是 table 原始容器的属性 lay-filter="对应的值"console.log(obj.field); //当前排序的字段名console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)console.log(this); //当前排序的 th 对象//尽管我们的 table 自带排序功能,但并没有请求服务端。//有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:tableObject.reload( {initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)field: obj.field //排序字段,order: obj.type //排序方式}});layer.msg('服务端排序。order by '+ obj.field + ' ' + obj.type);
});

3、两者的区别

  • 我描述不太清,大家自己试一下就知道区别了
  • 法 1、方式搜索、排序 每次都是从第1页开始,不会保存之前的查询数据
  • 法 2、搜索、排序能够记录你之前的查询信息(比如页数啊什么的)

三、注意事项

  • 1、后端 根据 前端 传过来的排序字段、排序方式参数,处理,把排序数据传给sql
  • 2、一般来说,排序搜索 是配合使用的,我们需要 处理 一下参数(合并他们的参数)传给后台
  • 3、如果前端数据不是后台返回的顺序,前端自动排序了,请在table.render({})中加上autoSort: false //禁用前端自动排序。注意:该参数为 layui 2.4.4 新增

Layer数据表格监听排序切换相关推荐

  1. Layui数据表格监听单元格编辑恢复原值

    Layui数据表格监听单元格编辑,并获取原值 table.on('edit(test)', function(obj){ //注:edit是固定事件名,test是table原始容器的属性 lay-fi ...

  2. button layui 点击事件_Layui 带多选框表格监听事件以及按钮自动点击写法实例

    不话不多说了,直接上代码吧: 获取选中行数据 获取选中数目 验证是否全选 提交选择 id运动名运动时长运动类型 var msg=""; var idlist="" ...

  3. layer数据表格换行

    在使用layer数据表格的时候,默认是不可以换行的.这样显示 改动后 数据格式为   aa<br>bb就会显示为换行 比如我们的字符串是    a<br>b 这样的字符串浏览器 ...

  4. 浅析 postMessage 方法介绍、如何接收数据(监听message事件及其属性介绍)、使用postMessage的安全注意事项、具体使用方式(父子页面如何互发消息、接收消息)

    postMessage 是 html5 引入的API,postMessage()方法允许来自不同源的脚本采用异步方式进行有效的通信,可以实现跨文本文档.多窗口.跨域消息传递,多用于窗口间数据通信,这也 ...

  5. Vue响应式原理Vue中数据的监听

    文章目录 Observer理解如上图 Dep「依赖管理」 Watcher理解如上图 总结:Vue响应式原理的核心就是Observer.Dep.Watcher. Vue响应式原理理解以后就知道Vue是怎 ...

  6. android 使用广播监听网络切换

    在Application中添加以下代码就可以监听网络切换 private BroadcastReceiver mNetworkStateReceiver = new BroadcastReceiver ...

  7. 监听平台切换完毕的事件

    EditorUserBuildSettings.SwitchActiveBuildTarget可以用脚本来切换平台..EditorUserBuildSettings.activeBuildTarget ...

  8. layui中table监听单元格_layui table表格 监听头删除不请求后台

    表格js function getTable() { var table = layui.table //表格 var username=$("#username").val(); ...

  9. android 界面切换监听,Android切换页面--setContentView

    setContentView 一般切换页面,通过Intent,startActivity可以实现,但系统创建Activity是非常耗时的,如果对切换画面时间有要求,只能用setContentView在 ...

  10. Zookeeper 客户端API调用示例(基本使用,增删改查znode数据,监听znode,其它案例,其它网络参考资料)

    9.1 基本使用 org.apache.zookeeper.Zookeeper是客户端入口主类,负责建立与server的会话 它提供以下几类主要方法  : 功能 描述 create 在本地目录树中创建 ...

最新文章

  1. 关于Github(1)
  2. Iptables-Fail2ban处理bind 非法***
  3. android 带图片的文本框
  4. 南加州大学等开源元学习研究库learn2learn
  5. 99乘法表(java版)
  6. ?Sized 和 Sized
  7. sleep实现原理(转载)
  8. 核心指导网络由任务编码器_如何在现实世界中与实际用户一起指导您的编码和编码生涯...
  9. 停车场管理系统 课程设计 C语言
  10. 【论文阅读笔记】《Simple, Accurate, and Robust Projector-Camera Calibration》
  11. KDD2015,Accepted Papers
  12. 【性能测试】Jmeter性能测试实战
  13. 请帮我查看一下2.19号邢台发往北京高铁的班次,以及各个班次的时间
  14. 多多自走棋改动_多多自走棋:几个隐藏更新,体验服公告真没提,有一项熟悉又隐蔽...
  15. 音频之耳机(Exynos7872)
  16. On Premises+Cloud:平滑实现IT应用云转型
  17. Error:Execution failed for task ':xst:process开发环境DebugResources'.
  18. java idle耗时_chrome中性能分析工具分析页面中Idle(空闲时间)占用太长时间,会不会影响页面性能,如果会是什么原因造成的?...
  19. vue3 ref,reactive请求后的赋值问题以及解决方法
  20. 如何使用supervisor托管守护进程?

热门文章

  1. TypeError: Fetch argument has invalid type class ‘numpy.float32‘, must be a string or Tensor
  2. cocos2d-x 3.0对label的改进
  3. java如何实现游戏暂停和恢复_Android:游戏循环暂停/恢复问题
  4. JAVA桌面小程序视频_「小程序JAVA实战」小程序视频组件与api介绍(51)
  5. git 客户端_GEE 学习笔记 3: 客户端连接远程服务器的 Jupyter ( git 作为本地工具)
  6. sci的figure怎么做_SCI论文中Figure图如何制作?
  7. swift 全局常量 全局变量的写法
  8. 用git push代码到远程仓库的时候出现错误
  9. 阿里云移动端播放器高级功能---直播时移 1
  10. android选择图片,通过uri获取路径