背景json
對於數據較少,無需後臺分頁的需求,可以使用如下解決方案數組
方案ide
MiniUI提供了監聽事件,特別方便便可實現。事件
源碼get
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便可完成前臺分頁。it