问题描述:在表格删除时,使用 obj.del(); //删除对应行(tr)的DOM结构,并更新缓存,但是,当点击分页,再次点击回来时,数据还是显示出来的
原因:删除操作,只删除对应当前table的数据的缓存,原始的data并未删除,当点击分页,重载数据时,table数据来自原始数据,就显示出来了
更改:增加 table.reload,重载数据,并删除原始数据中当前删除的item
部分代码如下实例
//监听工具条
table.on('tool(coordinate)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'del') {
layer.confirm('确认删除此用户吗?', {title:"删除用户-"+data.email},function (index) {
$.post(urlDel, {
id: data.id
}, function (res) {
if (res.code == -1) {
layer.msg(res.msg, {
icon: 2
});
} else {
obj.del();
layer.close(index);
table.reload('coordinate_reload',{
data: datax.filter(item => {
if(item.id !== obj.data.id) {
return item
}
})
})
layer.msg(res.msg, {
icon: 1
});
}
})
说明:datax 是原始数据,
table.reload(ID, options) | 参数 ID 即为基础参数id对应的值,见:设定容器唯一ID 参数 options 即为各项基础参数 |