分页时第二页的数据删完不会跳转回第一页

提问 已结
14 145
眼里是微风
悬赏:20飞吻
版本:layui 2.4.3 浏览器:google
假设有十一条数据,每页十条,当点击进入第二页删除一条数据后,就会显示无数据,而不会自动跳转到第一页,怎么解决
回帖
  • 圣贤愁
    2018-10-12
    1.定义2个全局变量pageNow = 0,dataLength = 0;
    2.在table回调后(done)时存下pageNow = curr,dataLength = res.data.length;
    3.删除操作事件时判断
    if(dataLength == 1){
    table.reload(tableId, {page: {curr: pageNow >1 ? (pageNow - 1) : 1 } });
    }
    0 回复
  • Freedom丶
    2018-10-12
    删除完后调用刷新表格,或者刷新当前页
    0 回复
  • 轻尘
    2018-10-12
    @圣贤愁 老哥,你这个是不是有点问题啊,如果我批量删,还有两条,我批量两条,那么你这个就不行了
    0 回复
  • 圣贤愁
    2018-10-12
    @轻尘 批量你可以判断删除的条数是否等于当前页数据的个数,如果相等不就退一页
    0 回复
  • @圣贤愁 不知道为什么我重新传了page之后分页功能就失效了
    0 回复
  • @Freedom丶 没法直接刷新,还有很多状态要保存
    0 回复
  • 轻尘
    2018-10-12
    贴个代码出来
    0 回复
  • 圣贤愁
    2018-10-12
    if(dataLength == 1){
    table.reload('wo', { page: { curr: pageNow > 1 ? (pageNow-1) : 1 } });
    }else{
    table.reload('wo', { page: { curr: pageNow } });
    }
    我测试是可以的,分页还有啊[疑问]
    0 回复
  • 轻尘
    2018-10-12
    @圣贤愁 那这样的话你每个用了数据表格的页面都需要做,那么其实你的代码是不是可以修改下,再创一个变量,如果在操作有个单行删除的按钮,则给这个变量赋值1,当多行删除时获取行数赋值给他
    0 回复
  • 圣贤愁
    2018-10-12
    @轻尘 效果出来就行,看个人习惯和需求,能更简洁的封装到源码里面更好。。。
    0 回复
  • @圣贤愁 我写错了,把page放到where里了,[黑线]
    0 回复
  • 圣贤愁
    2018-10-12
    @眼里是微风 起始改了源码就不需要每次个页面都那样写了


    0 回复
  • @圣贤愁 谢谢大佬!
    0 回复
  • @圣贤愁 还有个问题想问下,开启了服务端排序之后,前端还是会对数据重新排序一次,请问有什么办法可以把前端的排序关闭掉
    0 回复