今天要求加一个选中的行删除的功能,由于这个框架采用的是,bootstrapTable
我一开始想的是通过这个框架本身的 删除来搞定 我就去看了中文文档
https://blog.csdn.net/havebeenstand/article/details/96439201
找到一个方法 removeByUniqueId 根据 uniqueId 删除指定的行。
本以为轻松搞定,但是问题出现了,这个可以实现第一次删除
我是通过 var rows = $("#table").bootstrapTable('getSelections'); 来获取所有选中的行,然后迭代 删除。嗯,想的很美好,然而,GG,只能使用一次删除,就不行了
我又想到一种方式,那就是我直接改data,然后刷新, $('#table').bootstrapTable("refresh");
发现还是 getSelections下次进来,还是[]
这个时候,我就意识到,应该是table在经过增删操作的时候, getSelections出现了问题
不过我采用了另一种方式,那就是筛选出没有被选中的,然后我删除所有,新增行,
$('#table').bootstrapTable("removeAll");
console.log(newdata);
//$('#table').bootstrapTable("refresh");
$.each(newdata, function (i, v) {
$("#table").bootstrapTable("append",v);
});
嗯,发现可以实现,但是第二次进来,还是有问题,好吧,绝对是getSelections有bug
那我就找这个bug的解决方案,解决方案如下
$("#table").bootstrapTable('load',$("#table").bootstrapTable('getData'));
重新加载数据,好吧,原来要这样处理,文档上的东西写的很简单,但是实际操作还是挺费事的,哈哈