作为参考,我使用的是 DataTable.js 版本 1.10.21 和 DataTables Select 版本 1.3.1
我创建了一个带有可以更新的“状态”列的数据表。此列也有一个过滤器。过滤器在表的初始加载后工作完美,但在状态列中的单元格已更改后,过滤器似乎没有看到更新的数据,而是仍然过滤旧数据。
这是用于更新状态列中特定单元格的 js:注意:我们已经简化了示例以消除不是问题的代码。
var row = document.getElementById("user-id-" + userId);
statusColumn = row.children[4];
statusColumn.innerText = "inactive";
setTimeout(function(){
$('.dataTable').DataTable().reload();
},2000);
我尝试使用 reload()、draw() 并使用 dataTable() 重新初始化整个表。没有函数允许表格使用新值正确过滤。过滤器确实有效,但它根据表中不再存在的旧值进行过滤。
下面是两个屏幕截图作为视觉示例。
第一个屏幕截图:我正在查看新加载的表格并过滤状态“活动。
然后我要将 Aaron McClendon(第一行)更改为“不活动”。
第二张截图:我再次搜索状态“活动”。Aaron 不应再出现,因为他现在处于“不活跃”状态,但正如您所见,他确实出现在“活跃”状态过滤器中,但他的状态已更改为“不活跃”。
过滤到其他状态并返回不会改变结果,开始正确过滤更新数据的唯一方法是重新加载页面。
猛跑小猪
相关分类