@binbinji/vue3-infinite-scroll
v0.0.7
Published
An infinite scroll component for vue3
Downloads
119
Maintainers
Readme
Introduction
vue3-infinite-scroll is a powerful and tiny infinite scroll library for vue3.
Features
- Tiny, only 4kb after gzip
- Support vertical and horizontal mode
- Display millions of data
- Set scroll index、offset or alignment to show specific data
try all examples on this link.
Install
npm
npm install @binbinji/vue3-infinite-scroll --save
yarn
yarn add @binbinji/vue3-infinite-scroll
import InfiniteScroll from '@binbinji/vue3-infinite-scroll'
Props
| Property | Type | Required? | Description |
| :---------------- | :----------------- | :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| width | number / string | ✓ | The width of container. This property will determine the number of rendered items when direction is 'horizontal'
|
| height | number / string | ✓ | The height of container. This property will determine the number of rendered items when direction is 'vertical'
. |
| data | any[] | ✓ | Data source for scrolling list. |
| itemSize | (index: number): number / number[] / number | | Either a fixed height/width (depending on the direction), an array containing the heights of all the items in your list, or a function that returns the height of an item given its index: (index: number): number
. |
| direction | string | |Scrolling direction of the list which optional value is horizontal
or vertical
. The default value is vertical
. |
| estimatedSize | number | | When the size of each piece of data rendered is not fixed, you can use this property to set an estimated size which default value is 50
. |
| scrollToOffset | number | | Can be used to control the scroll offset; Also useful for setting an initial scroll offset |
| scrollToIndex | number | | Item index to scroll to (by forcefully scrolling if necessary) |
| scrollToAlignment | string | | Used in combination with scrollToIndex
, this prop controls the alignment of the scrolled to item. One of: 'start'
, 'center'
, 'end'
or 'auto'
. Use 'start'
to always align items to the top of the container and 'end'
to align them bottom. Use 'center
' to align them in the middle of the container. 'auto'
scrolls the least amount possible to ensure that the specified scrollToIndex
item is fully visible. |
| overscanCount | number | | Number of extra buffer items to render above/below the visible items. Tweaking this can help reduce scroll flickering on certain browsers/devices. |
Acknowledgments
This library is transplanted from vue3-infinite-list. Thanks!
License
MIT.