diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 64b8a5cc55d..8ba739cad74 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 8.8.2-beta01 + 8.8.2-beta02 diff --git a/src/BootstrapBlazor/Components/Table/Table.razor.js b/src/BootstrapBlazor/Components/Table/Table.razor.js index cfe4774ce3e..dc8c4f46b6a 100644 --- a/src/BootstrapBlazor/Components/Table/Table.razor.js +++ b/src/BootstrapBlazor/Components/Table/Table.razor.js @@ -190,6 +190,9 @@ export function dispose(id) { Data.remove(id) if (table) { + if (table.loopCheckHeightHandler) { + cancelAnimationFrame(table.loopCheckHeightHandler); + } if (table.thead) { EventHandler.off(table.body, 'scroll') } @@ -243,6 +246,17 @@ const setColumnToolboxListener = table => { } } +const check = table => { + const el = table.el; + if (isVisible(el) === false) { + table.loopCheckHeightHandler = requestAnimationFrame(() => check(table)); + } + else { + delete table.loopCheckHeightHandler; + setBodyHeight(table); + } +}; + const setBodyHeight = table => { const el = table.el const children = [...el.children] @@ -250,6 +264,7 @@ const setBodyHeight = table => { table.search = search; if (isVisible(el) === false) { + table.loopCheckHeightHandler = requestAnimationFrame(() => check(table)); return; }