身思乐,人事爱,稳恒不言败!

datatable destroy: Cannot read property 'mData' of undefined ...

解决在销毁具有一定数量的列的数据表时遇到的问题(在初始化时通过“列”属性设置)。 col在生成的第二个表的列数少于前一个的情况下为空。

所以这里的问题是,当你调用它destroy: true正在发生的事情时,destroy()API方法正在被调用,并且DataTable被重新放回到处于被销毁状态的DOM中。结果是,如果先点击“4列”表,然后发送’5列’表,那么destroy会将4列HTML表格放入DOM中。DataTables然后尝试初始化,当然因为它有四列和列数组有5。

解决方案是使用destroy()API方法。就像是:

table.destroy();
$('#tbl').empty();

在初始化表之前。

我可以让DataTables在内部执行这些操作,但是这会破坏您希望重新使用标题的情况 – 即不改变列的数量。

 

from:https://github.com/DataTables/DataTablesSrc/pull/4