昨日有朋友咨询我的CMS后台layui的table数据列表,在修改完其中一条的时候,直接返回列表,返回后直接是第一页,不能返回原来的页码,我调试许久,终于找到解决办法,下面分享给大家!
1、首先我们知道layui进入数据列表后是直接类似ajax请求数据的,where参数可以提交相应的参数请求
table.render({ elem: '#jizhi_table' ,height: 650 ,cellMinWidth: 80 ,url: window.location.href //数据接口 ,page: true //开启分页 ,size:'lg' ,count:100 ,toolbar:"#toolbar" ,data:{} ,where:{ajax:1} ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档 layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局 //,curr: 5 //设定初始在第 5 页 ,groups: 5 //只显示 1 个连续页码 ,first: true //显示首页 ,last: true //显示尾页 ,count:500 ,limit:10 }
2、修改页面的时候,是刷新父类iframe框的链接
//监听提交 form.on('submit(save)', function(data){ $.post("{fun U('editarticle')}",data.field,function(r){ var r = JSON.parse(r); if(r.code==0){ layer.confirm(r.msg, { btn: ['返回列表','取消'] //按钮 }, function(){ parent.location.reload();//刷新父类iframe的url }, function(){ }); }else{ layer.alert(r.msg, {icon: 5}); } }); return false; });
3、如果我们把父类iframe的链接增加页面及条数,是不是就能直接请求对应的页码呢?将上面代码进行改造
form.on('submit(save)', function(data){ $.post("{fun U('editarticle')}",data.field,function(r){ var r = JSON.parse(r); if(r.code==0){ layer.confirm(r.msg, { btn: ['返回列表','取消'] //按钮 }, function(){ // 添加第二页,列表条数为40条 parent.location.href="{fun U('articlelist')}?page=2&limit=40"; }, function(){ }); }else{ layer.alert(r.msg, {icon: 5}); } }); return false; });
4、更改后,每次修改页面返回都是第二页,页面显示条数为40条
5、通过上面的修改尝试,我们可以得出结论
在编辑列表中其中一条的时候,获取当前页面的页码及显示条数,返回链接带上对应的页码及条数即可实现修改返回到当前页面!