layui默认提供有sort排序,但是仅针对当前页面中的数据,无法兼顾全局数据排序。
如果需要全局排序,需要后台程序支持才可以实现。
可以在layui触发排序事件上改进下。本功能必须配合后台程序否则无效。
实现方法
<table class="layui-table" id="list" lay-filter="list"></table>
为了便于后续,id和lay-filter都设置成了list
//监听排序事件 table.on('sort(list)', function(obj) { table.reload('list', { initSort: obj, //记录初始排序,如果不设的话,将无法标记表头的排序状态。 where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式) field: obj.field,//排序字段 order: obj.type //排序方式 } }); });
$field = input('field'); $order = input('order'); if(empty($order)){ $order = "id desc";//默认id倒序 }else{ $order = "{$field} {$order}";//根据lay排序 }
总结
其实这个主要还是后台程序对数据进行重新排序操作,并非纯前端行为。
本文属原创,转载请注明原文:https://www.zhimatong.com/jiaocheng/811.html
为保证教程的实用性及扩大知识面覆盖,如果您有相似问题而未解决,可联系在线客服免费技术支持。