Skip to content

Commit cf18508

Browse files
committed
upper limit fixed
1 parent 21646c4 commit cf18508

File tree

3 files changed

+11
-7
lines changed

3 files changed

+11
-7
lines changed

build_examples/demo.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ function virtualOverflowCalcItemsV(visibleRect, itemHeight, overscanItemsCount,
114114
let itemStart = Math.floor(visibleRect.contentOffsetTop / itemHeight);
115115
let itemLen = Math.ceil(visibleRect.contentVisibleHeight / itemHeight);
116116
itemStart = Math.max(0, itemStart - overscanItemsCount);
117-
itemLen = Math.max(0, Math.min(itemsLength, itemLen + overscanItemsCount + overscanItemsCount));
117+
itemLen = Math.max(0, Math.min(itemsLength - itemStart, itemLen + overscanItemsCount + overscanItemsCount));
118118
return [itemStart, itemLen];
119119
}
120120
exports.virtualOverflowCalcItemsV = virtualOverflowCalcItemsV;

readme.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,15 @@ function MyApp() {
3535
containerRef,
3636
itemsLength: items.length,
3737
itemHeight,
38-
renderItem: (itemIndex, offsetTop) => (
39-
<div style={{ position: "absolute", top: `${offsetTop}px` }} key={items[itemIndex]}>
40-
{items[itemIndex]}
41-
</div>
42-
),
38+
renderItem: (itemIndex, offsetTop) => {
39+
const item = items[itemIndex];
40+
41+
return (
42+
<div style={{ position: "absolute", top: `${offsetTop}px` }} key={item}>
43+
{item}
44+
</div>
45+
)
46+
},
4347
}, []);
4448

4549
return (

src/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ export function virtualOverflowCalcItemsV(visibleRect: VirtualOverflowVisibleRec
8383
let itemLen = Math.ceil(visibleRect.contentVisibleHeight / itemHeight);
8484

8585
itemStart = Math.max(0, itemStart - overscanItemsCount);
86-
itemLen = Math.max(0, Math.min(itemsLength, itemLen + overscanItemsCount + overscanItemsCount));
86+
itemLen = Math.max(0, Math.min(itemsLength - itemStart, itemLen + overscanItemsCount + overscanItemsCount));
8787

8888
return [itemStart, itemLen];
8989
}

0 commit comments

Comments
 (0)