码迷,mamicode.com
首页 > 其他好文 > 详细

MiniUI前台分页,假分页实现源码

时间:2018-05-16 16:41:37      阅读:623      评论:0      收藏:0      [点我收藏+]

标签:MiniUI 假分页

背景

对于数据较少,无需后台分页的需求,可使用以下解决方案


方案

MiniUI提供了监听事件,特别方便即可实现。


源码

mini.parse();
var grid = mini.get("datagridTable");
        // 获取所有数据和总记录数 { total: 100, data: [...] }
        var dataResult = {};
        dataResult.total = ret.length;
        dataResult.data = ret;
        // 监听分页前事件,阻止后自行设置当前数据和分页信息
        grid.on("beforeload", function (e) {
            e.cancel = true;
            var pageIndex = e.data.pageIndex, pageSize = e.data.pageSize;
            fillData(pageIndex, pageSize, dataResult, grid);
        });
        // 第一次设置
        fillData(0, grid.getPageSize(), dataResult, grid);
        
// 分页填充细节处理
function fillData(pageIndex, pageSize, dataResult, grid) {
    
    var data = dataResult.data, totalCount = dataResult.total;

    var arr = [];
    var start = pageIndex * pageSize, end = start + pageSize;
    for (var i = start, l = end; i < l; i++) {
        var record = data[i];
        if (!record) continue;
        arr.push(record);
    }
    

    grid.setTotalCount(totalCount);
    grid.setPageIndex(pageIndex);
    grid.setPageSize(pageSize);

    grid.setData(arr);
}

结束

以上代码,填充后台数组json即可完成前台分页。


MiniUI前台分页,假分页实现源码

标签:MiniUI 假分页

原文地址:http://blog.51cto.com/zl0828/2116988

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!