Skip to content

Commit 83868c6

Browse files
authored
fix(AnalyticalTable): improve sync of scroll height of vertical scrollbar (#5404)
Fixes #5172
1 parent ec15391 commit 83868c6

File tree

1 file changed

+12
-5
lines changed
  • packages/main/src/components/AnalyticalTable

1 file changed

+12
-5
lines changed

packages/main/src/components/AnalyticalTable/index.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -599,12 +599,19 @@ const AnalyticalTable = forwardRef<AnalyticalTableDomRef, AnalyticalTablePropTyp
599599
onTableScroll(e);
600600
}
601601
const targetScrollTop = e.currentTarget.scrollTop;
602-
if (verticalScrollBarRef.current && verticalScrollBarRef.current.scrollTop !== targetScrollTop) {
603-
if (!e.currentTarget.isExternalVerticalScroll) {
604-
verticalScrollBarRef.current.scrollTop = targetScrollTop;
605-
verticalScrollBarRef.current.isExternalVerticalScroll = true;
602+
603+
if (verticalScrollBarRef.current) {
604+
const vertScrollbarScrollElement = verticalScrollBarRef.current.firstElementChild as HTMLDivElement;
605+
if (vertScrollbarScrollElement.offsetHeight !== scrollContainerRef.current?.offsetHeight) {
606+
vertScrollbarScrollElement.style.height = `${scrollContainerRef.current.offsetHeight}px`;
607+
}
608+
if (verticalScrollBarRef.current.scrollTop !== targetScrollTop) {
609+
if (!e.currentTarget.isExternalVerticalScroll) {
610+
verticalScrollBarRef.current.scrollTop = targetScrollTop;
611+
verticalScrollBarRef.current.isExternalVerticalScroll = true;
612+
}
613+
e.currentTarget.isExternalVerticalScroll = false;
606614
}
607-
e.currentTarget.isExternalVerticalScroll = false;
608615
}
609616
};
610617

0 commit comments

Comments
 (0)