layui表格本身提供sort排序,但是只能排序当前一页;如果后台返回几十页数据,需要排序显示,该如何做呢,这里闲心大神提供了一个sort监听方法:

通过监听排序的列,把对应的参数传给后台,然后重渲染表格就行了

 //监听表格排序问题
			  table.on('sort(test)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
				  console.log(obj.field); //当前排序的字段名
				  console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
				  console.log(this); //当前排序的 th 对象
				  
				  //尽管我们的 table 自带排序功能,但并没有请求服务端。
				  //有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
				  table.reload('testTable', { //testTable是表格容器id
				    initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 新增参数
				    ,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
				      field: obj.field //排序字段
				      ,order: obj.type //排序方式
				    }
				  });
				});
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐