Skip to content

Commit 24f5fe7

Browse files
authored
fix: scrollbar closure (#223)
1 parent 0608dc7 commit 24f5fe7

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

examples/horizontal-scroll.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ const Demo = () => {
124124
);
125125
}}
126126
onVirtualScroll={(e) => {
127-
console.warn('Scroll:', e);
127+
// console.warn('Scroll:', e);
128128
}}
129129
>
130130
{(item, _, props) => <ForwardMyItem {...item} {...props} />}

src/ScrollBar.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@ const ScrollBar = React.forwardRef<ScrollBarRef, ScrollBarProps>((props, ref) =>
124124
};
125125
}, []);
126126

127+
// Pass to effect
128+
const enableScrollRangeRef = React.useRef<number>();
129+
enableScrollRangeRef.current = enableScrollRange;
130+
const enableOffsetRangeRef = React.useRef<number>();
131+
enableOffsetRangeRef.current = enableOffsetRange;
132+
127133
React.useEffect(() => {
128134
if (dragging) {
129135
let moveRafId: number;
@@ -146,11 +152,14 @@ const ScrollBar = React.forwardRef<ScrollBarRef, ScrollBarProps>((props, ref) =>
146152
newTop += offset;
147153
}
148154

149-
const ptg: number = enableOffsetRange ? newTop / enableOffsetRange : 0;
155+
const tmpEnableScrollRange = enableScrollRangeRef.current;
156+
const tmpEnableOffsetRange = enableOffsetRangeRef.current;
157+
158+
const ptg: number = tmpEnableOffsetRange ? newTop / tmpEnableOffsetRange : 0;
150159

151-
let newScrollTop = Math.ceil(ptg * enableScrollRange);
160+
let newScrollTop = Math.ceil(ptg * tmpEnableScrollRange);
152161
newScrollTop = Math.max(newScrollTop, 0);
153-
newScrollTop = Math.min(newScrollTop, enableScrollRange);
162+
newScrollTop = Math.min(newScrollTop, tmpEnableScrollRange);
154163

155164
moveRafId = raf(() => {
156165
onScroll(newScrollTop, horizontal);

0 commit comments

Comments
 (0)