Skip to content

Commit 9c22e5f

Browse files
committed
šŸ› fix knock-on initial scroll index issue when infinite scroll is disabled
1 parent b85fa07 commit 9c22e5f

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

ā€Žsrc/components/DurationScroll/index.tsxā€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,14 @@ const DurationScroll = forwardRef<DurationScrollRef, DurationScrollProps>(
9595
const initialScrollIndex = useMemo(
9696
() =>
9797
getInitialScrollIndex({
98+
disableInfiniteScroll,
9899
numberOfItems,
99100
padWithNItems,
100101
repeatNumbersNTimes: safeRepeatNumbersNTimes,
101102
value: initialValue,
102103
}),
103104
[
105+
disableInfiniteScroll,
104106
initialValue,
105107
numberOfItems,
106108
padWithNItems,
@@ -391,6 +393,7 @@ const DurationScroll = forwardRef<DurationScrollRef, DurationScrollProps>(
391393
flatListRef.current?.scrollToIndex({
392394
animated: options?.animated ?? false,
393395
index: getInitialScrollIndex({
396+
disableInfiniteScroll,
394397
numberOfItems,
395398
padWithNItems,
396399
repeatNumbersNTimes: safeRepeatNumbersNTimes,
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
export const getInitialScrollIndex = (variables: {
2+
disableInfiniteScroll: boolean;
23
numberOfItems: number;
34
padWithNItems: number;
45
repeatNumbersNTimes: number;
56
value: number;
67
}) => {
7-
const { numberOfItems, padWithNItems, repeatNumbersNTimes, value } =
8-
variables;
8+
const {
9+
disableInfiniteScroll,
10+
numberOfItems,
11+
padWithNItems,
12+
repeatNumbersNTimes,
13+
value,
14+
} = variables;
915

1016
return Math.max(
1117
numberOfItems * Math.floor(repeatNumbersNTimes / 2) +
1218
((value + numberOfItems) % numberOfItems) -
13-
padWithNItems,
19+
(!disableInfiniteScroll ? padWithNItems : 0),
1420
0
1521
);
1622
};

0 commit comments

Comments
Ā (0)