首先, 注意了: GridManager 表格分页是须要 后端支撑 的.javascript
由前端发送包含分页信息的参数, 这是由 GridManager 自动实现的。 该参数包含如下信息{cPage: 当前页, pSize: 每页显示条数}html
后端解析请求, 并根据分页参数返回当前页的数据, 数据格式以下:前端
{
"data":[ // 分页必须存在的属性, 属性名可经过配置项dataKey进行变动
{
"name": "baukh",
"age": "28",
"createDate": "2015-03-12",
"info": "野生前端程序",
"operation": "修改"
},
{
"name": "baukh",
"age": "28",
"createDate": "2015-03-12",
"info": "野生前端程序",
"operation": "修改"
}
],
"totals": 8 // 分页必须存在的属性, 属性名可经过配置项totalsKey进行变动
}
复制代码
document.querySelector('table').GM('init', {
supportAjaxPage: true, // 启用分页
requestHandler: function(request){
request.newParams = '这个参数是经过 requestHandler 函数新增的';
return request;
},
// 其它配置项...
});
复制代码
如: 一级数据中的 data 与 totals, 能够使用 dataKey 和 totalsKey 进行调整。java
后端返回数据为:git
{
"list":[ // GridManager 指望返回的是 data, 而这里返回了 list
{
"name": "baukh",
"age": "28",
"createDate": "2015-03-12",
"info": "野生前端程序",
"operation": "修改"
},
{
"name": "baukh",
"age": "28",
"createDate": "2015-03-12",
"info": "野生前端程序",
"operation": "修改"
}
],
"number": 8 // GridManager 指望返回的是 totals, 而这里返回了 number
}
复制代码
解决方式:github
document.querySelector('table').GM('init', {
supportAjaxPage: true, // 启用分页
dataKey: 'list', // 指定数组 key 为 list
totalsKey: 'number', // 指定总数 key 为 number
requestHandler: function(request){
request.newParams = '这个参数是经过 requestHandler 函数新增的';
return request;
},
// 其它配置项...
});
复制代码
如数组中的 createDate, 指望返回的是时间戳, 而返回的为字符串。 这时能够经过初始化配置 responseHandler 对数据进行重组。后端
后端返回数据为:api
{
"list":[ // GridManager 指望返回的是 data, 而这里返回了 list
{
"name": "baukh",
"age": "28",
"createDate": "2015-03-12", // 返回的是字符串
"info": "野生前端程序",
"operation": "修改"
},
{
"name": "baukh",
"age": "28",
"createDate": "2015-03-12", // 返回的是字符串
"info": "野生前端程序",
"operation": "修改"
}
],
"number": 8 // GridManager 指望返回的是 totals, 而这里返回了 number
}
复制代码
前端指望返回的是:数组
{
"data":[
{
"name": "baukh",
"age": "28",
"createDate": 1426118400000, // 指望返回时间戳
"info": "野生前端程序",
"operation": "修改"
},
{
"name": "baukh",
"age": "28",
"createDate": 1426118400000, // 指望返回时间戳
"info": "野生前端程序",
"operation": "修改"
}
],
"totals": 8
}
复制代码
解决方式:函数
document.querySelector('table').GM('init', {
supportAjaxPage: true, // 启用分页
dataKey: 'list', // 指定数组 key 为 list
totalsKey: 'number', // 指定总数 key 为 number
responseHandler: function(response){
// 将返回数据中的 createDate 修改成 时间戳
response.list = response.data.map(function(item){
item.createDate = new Date(item.createDate).getTime();
return item;
});
return response;
},
// 其它配置项...
});
复制代码
更多API,请点击API进入