Blazor 中的数据表:Dispose() 不起作用
Datatables in Blazor: Dispose() doesn't work
在 DataTables.net 上的 post 之后,我成功地在整个应用程序的 Blazor WebAssembly 上添加了 DataTables.net。我面临的问题是当我更改页面时。正如您在下图中看到的,对于带有 DataTables.net 我更改的每个页面,我仍然拥有上一页的搜索栏。
在我添加的每个页面的代码中
public void Dispose()
{
JSRuntime.InvokeAsync<bool>("DataTablesRemove", "#tableData");
}
DataTablesRemove
定义在index.html
function DataTablesRemove(table) {
$(document).ready(function () {
$(table).DataTable().destroy();
// Removes the datatable wrapper from the dom.
var elem = document.querySelector(table + '_wrapper');
elem.parentNode.removeChild(elem);
});
}
我该如何解决这个问题?
你have to add@implements IDisposable
顶你page/component.
否则 Dispose() 只是一个不会被调用的方法。
在 DataTables.net 上的 post 之后,我成功地在整个应用程序的 Blazor WebAssembly 上添加了 DataTables.net。我面临的问题是当我更改页面时。正如您在下图中看到的,对于带有 DataTables.net 我更改的每个页面,我仍然拥有上一页的搜索栏。
在我添加的每个页面的代码中
public void Dispose()
{
JSRuntime.InvokeAsync<bool>("DataTablesRemove", "#tableData");
}
DataTablesRemove
定义在index.html
function DataTablesRemove(table) {
$(document).ready(function () {
$(table).DataTable().destroy();
// Removes the datatable wrapper from the dom.
var elem = document.querySelector(table + '_wrapper');
elem.parentNode.removeChild(elem);
});
}
我该如何解决这个问题?
你have to add@implements IDisposable
顶你page/component.
否则 Dispose() 只是一个不会被调用的方法。