背景

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


方案

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


源码

mini.parse();vargrid=mini.get("datagridTable");//获取所有数据和总记录数{total:100,data:[...]}vardataResult={};dataResult.total=ret.length;dataResult.data=ret;//监听分页前事件,阻止后自行设置当前数据和分页信息grid.on("beforeload",function(e){e.cancel=true;varpageIndex=e.data.pageIndex,pageSize=e.data.pageSize;fillData(pageIndex,pageSize,dataResult,grid);});//第一次设置fillData(0,grid.getPageSize(),dataResult,grid);//分页填充细节处理functionfillData(pageIndex,pageSize,dataResult,grid){vardata=dataResult.data,totalCount=dataResult.total;vararr=[];varstart=pageIndex*pageSize,end=start+pageSize;for(vari=start,l=end;i<l;i++){varrecord=data[i];if(!record)continue;arr.push(record);}grid.setTotalCount(totalCount);grid.setPageIndex(pageIndex);grid.setPageSize(pageSize);grid.setData(arr);}

结束

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