layui表格渲染一般都是直接 table.render,由于页面每个几秒要重新请求后台,就去重载,这样页面就感觉一直闪【未找到好的解决方法,如有,望告知】,体验不好,所以就用 ajax 嵌套了一下,这里也只是缓解了一下,没有闪的明显而已,部分参数省略
请求格式
$.ajax({
url: "http://........",
type: 'GET',
success: function (resp) {
if ('200' === resp.code) {
var d = resp.data; // 设置渲染的数据
table.render({
elem: '#table-id',
data: d,
page:true, //开启分页
cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
,
done: function (res, curr, count) {
$("table").css("width", "100%");
},
cols: [
[{
type: 'numbers'
}]
]
});
}else {
// errorResult();
}
},
error: function () {
// errorResult();
}
})
问题
我这里存在比较麻烦的问题,还有其他的问题由于业务每页遇到就没去管了
- table每次刷新的时候,怎么保留分页的参数,比如我现在浏览的页数,和每页显示的条数
这种LZ就顺便把自己解决的方式贴出来【重要部分】,底下的查询就免了
div-table : 你放置table的div的id
// 注意: 这里只是一种实现方式
var curr = $("#div-table").find(".layui-laypage-em").next().html(); // 获取当前页数
// 获取当前设置的每页条数
var limit = $("#div-table").find(".layui-laypage-limits").find("option:selected").val();
// 接下里就是table.render里面的设置了
// 直接把上面的page:true改成如下就可以了
page: {
curr: curr,
limit: limit
},
- 搜索重载时
底下这种方式好像就得改了
table.reload('table-id', {
where: {}
});
官网
如有朋友解决了每次 table.reload时页面刷新的闪的问题,望告知