今天要求加一個選中的行刪除的功能,由於這個框架采用的是,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'));
重新加載數據,好吧,原來要這樣處理,文檔上的東西寫的很簡單,但是實際操作還是挺費事的,哈哈