IvanSafonov / Vue List Scroller
Licence: mit
Simple and easy to use Vue.js component for efficient rendering large lists
Stars: ✭ 65
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Vue List Scroller
scrollbox
A lightweight jQuery custom scrollbar plugin, that triggers event when reached the defined point.
Stars: ✭ 15 (-76.92%)
Mutual labels: infinite-scroll, scroll
react-tabllist
React-based customizable style table or list components that support event and callback functions.
Stars: ✭ 20 (-69.23%)
Mutual labels: list, infinite-scroll
angular2-infinite-scroll
Infinite Scroll Directive For Angular (version 2 up to 2.3.1)
Stars: ✭ 16 (-75.38%)
Mutual labels: infinite-scroll, scroll
React Intersection List
React infinite scroll using the Intersection <Observer /> API
Stars: ✭ 125 (+92.31%)
Mutual labels: list, infinite-scroll
Infinite Ajax Scroll
Turn your existing pagination into infinite scrolling pages with ease
Stars: ✭ 804 (+1136.92%)
Mutual labels: scroll, infinite-scroll
Masonic
🧱 High-performance masonry layouts for React
Stars: ✭ 209 (+221.54%)
Mutual labels: list, infinite-scroll
react-infinite-scroll-list
Manage infinite list with the IntersectionObserver API
Stars: ✭ 20 (-69.23%)
Mutual labels: infinite-scroll, scroll
ng-mat-select-infinite-scroll
Infinite Scroll directive for angular material select component
Stars: ✭ 39 (-40%)
Mutual labels: infinite-scroll, scroll
React Virtual List
Super simple virtualized list React component
Stars: ✭ 597 (+818.46%)
Mutual labels: list, scroll
Vue Mugen Scroll
Infinite scroll component for Vue.js 2
Stars: ✭ 532 (+718.46%)
Mutual labels: scroll, infinite-scroll
Infinitescroll
Infinite Scroll (Endless Scrolling) for RecyclerView in Android
Stars: ✭ 183 (+181.54%)
Mutual labels: scroll, infinite-scroll
Flatlist React
A helpful utility component to handle lists in react like a champ
Stars: ✭ 34 (-47.69%)
Mutual labels: list, infinite-scroll
Ngx Ui Scroll
Infinite/virtual scroll for Angular
Stars: ✭ 145 (+123.08%)
Mutual labels: scroll, infinite-scroll
vuejs-loadmore
A pull-down refresh and pull-up loadmore scroll component for Vue.js. Vue上拉加载下拉刷新组件
Stars: ✭ 62 (-4.62%)
Mutual labels: infinite-scroll, scroll
Svelte Infinite Scroll
Infinite Scroll Component to Svelte
Stars: ✭ 102 (+56.92%)
Mutual labels: scroll, infinite-scroll
Rsdayflow
iOS 7+ Calendar (Date Picker) with Infinite Scrolling.
Stars: ✭ 843 (+1196.92%)
Mutual labels: scroll, infinite-scroll
Ngx Infinite Scroll
Infinite Scroll Directive for Angular
Stars: ✭ 1,024 (+1475.38%)
Mutual labels: scroll, infinite-scroll
Awesome Pascal
A curated list of awesome Delphi/FreePascal/(any)Pascal frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff. Open source and freeware only!
Stars: ✭ 1,061 (+1532.31%)
Mutual labels: list
Stack On A Budget
A collection of services with great free tiers for developers on a budget. Sponsored by Mockoon, the best mock API tool. https://mockoon.com
Stars: ✭ 10,836 (+16570.77%)
Mutual labels: list
vue-list-scroller
It can help with creating Twitter-like feed with thousands of items. It renders only visible part of the list.
Notes
- Only page mode. It does not work inside an overflow container
- Uses ResizeObserver
- Items can have any size and change dynamically
- Items can have margins
- Supports infinite scroll
Usage
Add package to your project
npm install vue-list-scroller --save
Create item component
<template>
<div>{{ 'Item ' + index + ' ' + data.text }}</div>
</template>
<script>
export default {
props: {
data: Object,
index: Number,
},
}
</script>
Add ListScroller component to your project
<template>
<div>
<list-scroller :itemComponent="item" :itemsData="items" :itemHeight="350" />
</div>
</template>
<script>
import ListScroller from 'vue-list-scroller'
import Item from './item'
export default {
components: { ListScroller },
data() {
return {
items: [{ text: 'first' }, { text: 'second' }],
item: Item,
}
},
}
</script>
Example
You can clone this project and start example locally with these commands. It's in the dev folder.
npm install
npm run serve
ListScroller component interface
Props
-
itemsData
: array of the data that is passed to items -
itemHeight
: approximate item height in pixels. it's used only at first rendering -
itemComponent
: vue js item component -
renderViewports
: height of the rendered part relative to viewport height. For example, if it's set to 5 and window inner height is 400, it will render 800 pixels before and after visible part of the list -
onItemResize
: the name of the item component function that is called on item resize
Events
-
bottom
: emits when the last item is rendered. Used for infinite scrollNote: You need to disable scroll anchoring on the outer container. Without it after adding new items browser will scroll back to the bottom and bottom event will fire again.
.container { overflow-anchor: none; }
Item component interface
Props
These properties are passed to the item component, all are optional.
-
index (Number)
: index of the item in the itemsData array -
data (Object)
: data of the item from itemsData array
Similar projects
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].