其实你只要在table.render()方法里面这样写
,done:function(res, curr){
var brforeCurr = curr; // 获得当前页码
var dataLength = res.data.length; // 获得当前页的记录数
var count = res.count; // 获得总记录数
if(dataLength == 0 && count != 0){ //如果当前页的记录数为0并且总记录数不为0
table.reload("layUITableId",{ // 刷新表格到上一页
page:{
curr:brforeCurr-1
}
});
}
}
在你的删除方法里删除数据后,刷新当前表格,table.render会在加载完数据之后调用done方法继续执行判断
完整代码
tableIns = table.render({
elem: '#test-table-operate',
url: #;
, toolbar: '#toolbarDemo'
, loading: true
, defaultToolbar: []
, height: 'full-85'
, cols: [
[
{type: 'checkbox', fixed: 'left', lay_checked: false, filter: "test"}
, {field: 'dicName', title: '名称'}
, {field: 'dicCode', title: '编码'}
, {field: 'dicType', title: '类型'}
// ,{fixed: 'right', title:'操作', toolbar: '#test-table-toolbar-barDemo'}
]
]
//解决页码的问题
, done: function (res) {
// 获得当前页码
var brforeCurr = tableIns.config.page.curr;
// 获得当前页的记录数
var dataLength = table.cache['testReload'].length;
var count = res.count; // 获得总记录数
//如果当前页的记录数为0并且总记录数不为0
if (dataLength == 0 && count != 0) {
// 刷新表格到上一页
table.reload("testReload", {
page: {
curr: brforeCurr - 1
}
});
}
} , where: {dicType: dicType}
, page: true
, limits: [15, 30]
, limit: 15
, id: 'testReload'
});