layui表格,手动重新渲染表格的分页

业务逻辑,需要知道上次保存的时候表格在第几页,保存的时候保存页数,回显的时候,表格加载,用id拿到onPage,就是保存过的页码,用页码重载分页插件,暂时就想到这一种方法

			var analTable = layui.table.render({
                id: "analList",
                elem: '#analList',
                url: "/report/wasteGasBusiness/getAnalysisList",
                cols: [[
                    {type: 'radio'},
                    {title: '序号', width: '8%', align: "center", templet: "#indexTable"},
                    {field: 'name', width: '22%', title: '名称', align: "center"},
                    {field: 'industry', width: '20%', title: '行业名称', align: "center"},
                    {field: 'wasteProduction', width: '30%', title: '工艺', align: "center"},
                    {field: 'scale', width: '10%', title: '规模', align: "center"},
                    {fixed: 'right', title: '操作', width: '10%', align: "center", toolbar: '#toolBar'}
                ]],
                //要传的参数
                where:{
                    pollutionStr:pollutionStr,
                    analysisId:analysisId,
                    reportProcessId:reportProcessId,
                    businessAnalysisEntryId:businessAnalysisEntryId,
                },
                // post|get
                method:'post',
                page: true,
                even: true,
                limit: 10,
                limits: [10],
                parseData: function (res) { //res 即为原始返回的数据
                    // console.log(res.data)
                    if (res.code === 0) {
                        var data = res.data;
                 
                        // console.log(data)
                        return {
                            "code": res.code, //解析接口状态
                            "count": res.count, //解析数据长度
                            "data": data, //解析数据列表
                            "onPage": res.onPage, // 保存过的页码数,表格加载完之后用这个page重载分页,
                        };
                    }
                },
                done: function (res) {
                    that.analysisOnPage = res.onPage?res.onPage:analTable.config.page.curr
                    /**
                     * 重新设置分页插件,当回显的时候,可能选中的不是第一页的数据,需要用存过的page重载分页,
                     * 分页事件的时候就不会带着保存过的id请求
                     * 相当于除了第一次,都用新加载的分页控制表格分页
                     * */
                    var elem = analTable.config.page.elem // layui表格生成的分页的容器
                    layui.laypage.render({
                        elem: elem
                        ,count: res.count
                        ,limits: [10]
                        ,layout: [ 'prev', 'page', 'next', 'skip','count', 'limit']
                        ,curr: that.analysisOnPage
                        ,next: '<i class="layui-icon">&#xe602;</i>'
                        ,prev: '<i class="layui-icon">&#xe603;</i>'
                        ,jump: function(obj,first){
                            if(!first){
                            	// 把表格实例的分页更新
                                calcuTable.config.page.curr = obj.curr
                                // 翻页的时候重载表格
                                layui.table.reload('analList', {
                                    page: {
                                        curr: obj.curr
                                    },
                                    // 重载的时候不带id,就不会拿到onPage,就不会死循环
                                    where: {businessAnalysisEntryId: ''},
                                });
                            }
                        }
                    });
                }
            });
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
layui表格layui分页组件可以很好地搭配使用,可以实现数据的分页展示,具体使用方法如下: 1. 引入layui框架和相关样式文件: ```html <link rel="stylesheet" href="layui/css/layui.css"> <script src="layui/layui.js"></script> ``` 2. 创建一个容器用于展示表格分页组件: ```html <div id="demo"></div> ``` 3. 编写JavaScript代码,渲染表格分页组件: ```javascript layui.use(['table', 'laypage'], function(){ var table = layui.table; var laypage = layui.laypage; // 表格渲染 table.render({ elem: '#demo', url: '/data.json', // 数据接口 cols: [[ // 表头 {field: 'id', title: 'ID', width: 80}, {field: 'username', title: '用户名', width: 120}, {field: 'sex', title: '性别', width: 80}, {field: 'city', title: '城市', width: 100}, {field: 'sign', title: '签名', width: 200}, {field: 'experience', title: '积分', width: 80}, {field: 'score', title: '评分', width: 80}, {field: 'classify', title: '职业', width: 100}, {field: 'wealth', title: '财富', width: 120} ]] }); // 分页组件渲染 laypage.render({ elem: 'demo', // 分页容器的id count: 50, // 数据总数 limit: 10, // 每页显示的条数 curr: location.hash.replace('#!fenye=', ''), // 获取hash值作为当前页码 hash: 'fenye', // 自定义hash值 jump: function(obj, first){ if(!first){ // 非首次加载才会执行 table.reload('demo', { where: { // 其他参数 page: obj.curr, limit: obj.limit } }); } } }); }); ``` 以上代码中,`table.render()`函数用于渲染表格,`laypage.render()`函数用于渲染分页组件。其中,`table.reload()`函数用于重新加载表格数据,实现分页效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值