Description
The Chronocraft Scroller is a Vue 3 flexible scroller library infinite scroling support created for Vue3.
It supports both vertical and horizontal orientations
It provides smooth infinite scrolling with drag and mouse wheel navigation
Features
- Vuejs 3.0 Based Code
- Infinite Scroller
- Horizontal and Vertical Support
- Dynamic length of rows and columns
- Mouse Wheel Support
- Touch and Drag support
Here is a working Demo of the component Demo:
https://codesandbox.io/s/chronocraft-vue3-infinite-scroller-demo-gvmb2?file=/src/App.vue
A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Component alternatives and similar libraries
Based on the "PostCSS" category.
Alternatively, view chronocraft-scroller-vue alternatives based on common mentions on social networks and blogs.
-
styled-components
9.6 8.2 L2 A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Component VS styled-componentsVisual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress ๐ -
CSS Layout
A collection of popular layouts and patterns made with CSS. Now it has 100+ patterns and continues growing! -
Aphrodite
Framework-agnostic CSS-in-JS with support for server-side rendering, browser prefixing, and minimum CSS generation -
React CSS Modules
6.1 0.0 L4 A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Component VS React CSS ModulesSeamless mapping of class names to CSS modules inside of React components. -
vue-virtual-scroll-list
โก๏ธA vue component support big amount data list with high render performance and efficient. -
jTools - Javascript web components
jSuites is a collection of lightweight common required javascript web components. It is composed of fully responsive vanilla plugins to help you bring the best user experience to your projects, independent of the platform. Same JS codebase across different platforms. -
React Inline
2.3 0.0 L4 A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Component VS React InlineDISCONTINUED. Transform inline styles defined in JavaScript modules into static CSS code and class names so they become available to, e.g. the `className` prop of React elements. -
File Management with Preview
DISCONTINUED. A file management system built with Vue.js and TypeScript that allows for single and multiple file uploading with a preview feature
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Component or a related project?
Popular Comparisons
-
A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Componentvslinaria
-
A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Componentvsglamorous
-
A Vue 3 Dynamic and Versatile High Performance Infinite Scroller ComponentvsDHTMLX Widgets with Angular
-
A Vue 3 Dynamic and Versatile High Performance Infinite Scroller ComponentvsPostCSS
-
A Vue 3 Dynamic and Versatile High Performance Infinite Scroller ComponentvsAtomizer
README
A Vue 3 Dynamic and Versatile High Performance Infinite Scroller Component
The Chronocraft Scroller is a Vue 3 flexible scroller library infinite scroling support created for Vue3. It supports both vertical and horizontal orientations It provides smooth infinite scrolling with drag and mouse wheel navigation
Demo
Here is a working Demo of the component Demo: Chronocraft Scroller Demo{:target="_blank"}
Features
- Vuejs 3.0 Based Code
- Infinite Scroller
- Horizontal and Vertical Support
- Dynamic length of rows and columns
- Mouse Wheel Support
- Touch and Drag support
Usage of Scroller
Using the Library as a Plugin
import { ChronoCraftScroller } from 'chronocraft-scroller-vue';
...
app.use(ChronoCraftScroller)
Using seperate components of the library inside you project
When you want to import a specific component from the library into a dedicated place inside your code
import { Scroller } from 'chronocraft-scroller-vue';
...
components:{
Scroller
}
Example of Component
<Scroller orientation="horizontal" :cellwidth="200" :numcols="4" :numrows="4" :contentpadding="30" :wheelscrollspeed="20" :newcellslength="newcellslength" :data="scrollerdata" :cellsquared="true" @on-scroll="OnScroll" @on-update-data-next="onUpdateDataNext" @on-update-data-previous="onUpdateDataPrevious"/>
Example using Cell Slot
<Scroller orientation="horizontal" :cellwidth="200" :numcols="4" :numrows="4" :contentpadding="30" :wheelscrollspeed="20" :newcellslength="newcellslength" :data="scrollerdata" :cellsquared="true" @on-scroll="OnScroll" @on-update-data-next="onUpdateDataNext" @on-update-data-previous="onUpdateDataPrevious">
<template v-slot:cell="slotProps">
<span>{{ slotProps.data.id }}</span>
</template>
</Scroller>
Component properties
Name | Type | Description |
---|---|---|
orientation | String | Defines the orientation of the scroller. The possible values are horizontal or vertical |
cellwidth | Number | Defines the base of the cellwidth on the vertical scroller |
cellheight | Number | Defines the base of the cellheight on the horizontal scroller |
numcols | Number | The total number of columns on the vertical scroller |
numcols | Number | The total number of columns on the horizontal scroller |
contentpadding | Number | The size of padding between the scroller cells |
wheelscrollspeed | Number | Defines the mouse wheel scroll speed |
newcellslength | Number | The total number of new cells that will be loaded when scrolling forward or backwards |
data | Array | The actual data passed into the scroller. These data are reactive by using ref() |
cellsquared | Boolean | Sets the cell to be squared. (width will have the same size as the height) |
@on-scroll | Function | Event fired when the user has scrolled |
@on-update-data-next | Function | Event fired when the user has reached at the end of the scroller and new data might be required to load |
@on-update-data-previous | Function | Event fired when the user has reached at the start of the scroller and new data might be required to load |
@on-data-updated | Function | Event triggered when scroller data has changed and returns the new data |
Important Notice
To achive a smooth scrolling result without shaking or weird movement, the number of data cells loaded at initialization is relevant to the width of the scroller as well as the total new cell data added each time it receives new data.
Total Required Initial Data Length = ( Total visible cells ) + ( New cells added each time) * 3
This is calculated automatically and an alert screen appears when more data is required.