DataTable 更新到 1.11 销毁返回错误
Posted
技术标签:
【中文标题】DataTable 更新到 1.11 销毁返回错误【英文标题】:DataTable update to 1.11 destroy returning error 【发布时间】:2021-11-18 23:35:59 【问题描述】:我的应用在 1.10.24 和 1.10.25 版本上运行良好。
最近我正在尝试更新软件包并移至 1.11.3,但我开始遇到错误。
我的代码相当简单。但是逻辑;是我有一个Start Process
按钮,当按下该按钮时,某些数据会在服务器上进行处理,并且响应来自使用table.add()
添加到表中的web-socket,这第一次可以正常工作。但是用户可以再次按下按钮来重新处理服务器上的数据。为此,我正在收拾桌子。
为
$('#testGrid').DataTable().destroy();
我收到以下错误
dataTables.colResize.js:262 Uncaught TypeError: Cannot read properties of null (reading 'dt')
at ColResize._fnStateSave (dataTables.colResize.js:262)
at jQuery.fn.init.<anonymous> (dataTables.colResize.js:249)
at jquery.dataTables.js:6754
at Function.map (jquery.js:467)
at _fnCallbackFire (jquery.dataTables.js:6753)
at _fnSaveState (jquery.dataTables.js:6405)
at _Api.<anonymous> (jquery.dataTables.js:8815)
at _Api.iterator (jquery.dataTables.js:7145)
at _Api.<anonymous> (jquery.dataTables.js:8804)
at _Api.visible (jquery.dataTables.js:7312)
为
let testGrid = $('#testGrid').DataTable();
testGrid.clear().draw();
没有错误,按下进程按钮后,我尝试添加数据时抛出错误
Uncaught TypeError: Cannot set properties of undefined (setting '_aData')
at _Api.<anonymous> (jquery.dataTables.js:8278)
at _Api.data (jquery.dataTables.js:7312)
at results-timeline-grid.js:254
at arrayEach (_arrayEach.js:16)
at Function.forEach (forEach.js:43)
at Class.updateDataSource (results-timeline-grid.js:235)
at Class.onDataUpdated (data-grid.js:31)
at sendEvent (index.js:219)
at Class.trigger (evented.js:113)
at Class.publish (event-bus.js:11)
如前所述,我的代码在 1.10.24、1.10.25 上运行良好
【问题讨论】:
你能提供一个minimal reproducible example吗? 抱歉这么晚才回复,焦点转移到了别的事情上。无论如何,今天我试图解决这个问题,并认为jquery.dataTables.colResize.js
插件已经过时了。所以更新了我所有的插件,它正在工作
【参考方案1】:
我也在使用其他插件,但没有更新。更新这些插件后就解决了
【讨论】:
以上是关于DataTable 更新到 1.11 销毁返回错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 $.fn.DataTable.tables() 时销毁特定表