Utils: fix table bodyWidth resizing latency (#21818)

pull/22162/head
ryougifujino 2022-09-20 17:45:57 +08:00
parent cf3f1bd71d
commit 1174c00aa9
1 changed files with 2 additions and 5 deletions

View File

@ -1,5 +1,4 @@
import ResizeObserver from 'resize-observer-polyfill'; import ResizeObserver from 'resize-observer-polyfill';
import { debounce } from 'throttle-debounce';
const isServer = typeof window === 'undefined'; const isServer = typeof window === 'undefined';
@ -8,9 +7,7 @@ const resizeHandler = function(entries) {
for (let entry of entries) { for (let entry of entries) {
const listeners = entry.target.__resizeListeners__ || []; const listeners = entry.target.__resizeListeners__ || [];
if (listeners.length) { if (listeners.length) {
listeners.forEach(fn => { listeners.forEach(fn => window.requestAnimationFrame(() => fn()));
fn();
});
} }
} }
}; };
@ -20,7 +17,7 @@ export const addResizeListener = function(element, fn) {
if (isServer) return; if (isServer) return;
if (!element.__resizeListeners__) { if (!element.__resizeListeners__) {
element.__resizeListeners__ = []; element.__resizeListeners__ = [];
element.__ro__ = new ResizeObserver(debounce(16, resizeHandler)); element.__ro__ = new ResizeObserver(resizeHandler);
element.__ro__.observe(element); element.__ro__.observe(element);
} }
element.__resizeListeners__.push(fn); element.__resizeListeners__.push(fn);