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: ''
                        ,prev: ''
                        ,jump: function(obj,first){
                            if(!first){
                            	// 把表格实例的分页更新
                                calcuTable.config.page.curr = obj.curr
                                // 翻页的时候重载表格
                                layui.table.reload('analList', {
                                    page: {
                                        curr: obj.curr
                                    },
                                    // 重载的时候不带id,就不会拿到onPage,就不会死循环
                                    where: {businessAnalysisEntryId: ''},
                                });
                            }
                        }
                    });
                }
            });

你可能感兴趣的:(业务笔记,layui,javascript,ajax)