layui的layui.table.cache只能获取当前页的所有数据问题解决(layui实现添加行操作遇到分页)

        今天在使用layui数据表格的时候,我想实现一个添加行的操作,但是要添加行就得先获得当前所有的数据,如果不分页的话layui.table.cache['test'];还可以获取所有的数据,

但是如果数据很多需要分页展示的话以上方法就只能获取当前页面的所有数据,此时如果再去添加行就会有问题。经过一番研究我想出了以下办法来解决。

        先用最大的数据limit去table.reload,让所有的数据在同一页展示,并获取当前页的所有数据(此时获取的数据就是所有分页的数据)。然后添加行之后,再执行一次重载(此时

使用正常的分页数量)。这样虽然在后台逻辑上看是重载了两次,但是在使用者的角度去看是看不出来的,他只能看到最后一次重载的结果。

        下面贴出解决代码:

    function addRow(){
    	var page = $(".layui-laypage-skip").find("input").val(); //获取当前页码
    	
    	layui.table.reload('test', {
        	page: {
                limit: Number.MAX_VALUE
                ,curr: 1
            } 
        });
    	var tableData = layui.table.cache['test'];
    	tableData.push(blankRow);
    	
    	/* 两次重载是为了解决 table.cache.basic只能获取当前页的数据的缺陷*/
    	layui.table.reload('test', {
        	page: {
                limit: 10
                ,curr: page
            } 
            ,data: tableData
        });
        
    }

 

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

未来@音律

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值