var initTable= table.render({
elem: '#demo'
,height: 312
,url: '/demo/table/user.json' //数据接口
,page: true //开启分页
,cols: [[ //表头
{field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
,{field: 'username', title: '用户名', width:80}
,{field: 'sex', title: '性别', width:80, sort: true}
,{field: 'city', title: '城市', width:80}
,{field: 'sign', title: '签名', width: 177}
,{field: 'experience', title: '积分', width: 80, sort: true}
,{field: 'score', title: '评分', width: 80, sort: true}
,{field: 'classify', title: '职业', width: 80}
,{field: 'wealth', title: '财富', width: 135, sort: true}
]]
});
var scrollTop = 0//上下滚动条
, scrollLeft = 0//左右滚动条
//刷新时传入接口的返回的对象
function getData(res){
//initTable.reload({ data: res.data});
//{} 这可以使用=>基础参数一览表
//有个BUG 就是当滚动条移动一些位置的时候,刷新的时候 滚动条直接回滚到最上面了
//所以需要记录滚动条的位置,然后在恢复到滚动条的位置
scrollTop = ($('.layui-table-body') && $('.layui-table-body').length > 1) ? $('.layui-table-body')[0].scrollTop : $('.layui-table-body').scrollTop;
scrollLeft = ($('.layui-table-body') && $('.layui-table-body').length > 1) ? $('.layui-table-body')[0].scrollLeft : $('.layui-table-body').scrollLeft;
initTable.reload({data: res.data,
done: function (obj) {
if (scrollTop > 0 || scrollLeft > 0) {
//恢复原来的滚动条位置, animate 动画 实现
$('.layui-table-main').animate({ scrollTop: scrollTop }, 4000);
$('.layui-table-main').animate({ scrollLeft: scrollLeft }, 2000);
scrollTop = 0; scrollLeft = 0;
}
}
});
}
layui 动态表格 实现无感刷新
于 2022-03-31 13:42:32 首次发布