diff --git a/src/shared/components/scroll-area/scroll-area.tsx b/src/shared/components/scroll-area/scroll-area.tsx index 0e7be2d07..a3e0707ed 100644 --- a/src/shared/components/scroll-area/scroll-area.tsx +++ b/src/shared/components/scroll-area/scroll-area.tsx @@ -48,6 +48,8 @@ export const ScrollArea = forwardRef((props: ScrollAreaProps, ref: Ref { const { current: root } = containerRef; + let autoScrollCleanup: (() => void) | null = null; + if (scroller && root) { initialize({ elements: { viewport: scroller as HTMLElement }, @@ -55,7 +57,7 @@ export const ScrollArea = forwardRef((props: ScrollAreaProps, ref: Ref { const data = args.source.data as unknown as DragData; if (data.type === DragTarget.TABLE_COLUMN) return false; @@ -68,7 +70,13 @@ export const ScrollArea = forwardRef((props: ScrollAreaProps, ref: Ref osInstance()?.destroy(); + return () => { + if (autoScrollCleanup) { + autoScrollCleanup(); + } + + osInstance()?.destroy(); + }; }, [allowDragScroll, initialize, osInstance, scroller]); const mergedRef = useMergedRef(ref, containerRef);