bootstraptable进行增删操作后,getSelections出现问题的解决方案

今天要求加一个选中的行删除的功能,由于这个框架采用的是,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'));

 

重新加载数据,好吧,原来要这样处理,文档上的东西写的很简单,但是实际操作还是挺费事的,哈哈

 

posted @ 2020-04-10 10:57  喜欢22度的晴天  阅读(2398)  评论(1编辑  收藏  举报