diff --git a/.changeset/tall-masks-call.md b/.changeset/tall-masks-call.md new file mode 100644 index 000000000..defd79581 --- /dev/null +++ b/.changeset/tall-masks-call.md @@ -0,0 +1,5 @@ +--- +'@tanstack/virtual-core': patch +--- + +fix(core): handle case when item count is less than or equal to lanes diff --git a/packages/virtual-core/src/index.ts b/packages/virtual-core/src/index.ts index d91e68acf..b3b4a90d5 100644 --- a/packages/virtual-core/src/index.ts +++ b/packages/virtual-core/src/index.ts @@ -1123,6 +1123,14 @@ function calculateRange({ const lastIndex = measurements.length - 1 const getOffset = (index: number) => measurements[index]!.start + // handle case when item count is less than or equal to lanes + if (measurements.length <= lanes) { + return { + startIndex: 0, + endIndex: lastIndex, + } + } + let startIndex = findNearestBinarySearch( 0, lastIndex,