layui使用table.reload()后保持滚动条

使用table时有个特殊需要,改变table中的某一项时,再table展示内容较多需要滚动条时,由于后台需要运算结果,所以必须要table.reload加载数据,但是滚动条会被重置到0的位置。

网上有推荐的方法,实测后发现缺少一句代码,导致无法改动滚动条位置。

 1 var $ = layui.$,
 2       table = layui.table;
 3 
 4 //在你需要重置表格的前面加上代码
 5 
 6 var scrollTop=0;
 7 var layuiTable = $('.layui-table-main');
 8 if(layuiTable!=null&&layuiTable.length>0){
 9      scrollTop = layuiTable[0].scrollTop;  
10 }
11 
12 table.reload('这里是需要加载的table');
13 
14 //这里必须使用setTimeout
15 setTimeout(function(){
16       if(layuiTable!=null&&layuiTable.length>0){
17          $('.layui-table-main').scrollTop(scrollTop)
18       }
19 },100)
20    

 

posted @ 2019-11-01 10:56  只争朝夕。  阅读(8170)  评论(0编辑  收藏  举报