virtual-scroll-list-liudingkang
virtual-scroll-list
Is a virtual-scroll-list developed based on Vue3.
- 💪 90%+ Unit test coverage
- 💪 Written in TypeScript
- 🍭 Support
DynamicListandFixedSizeList - 🍭 Support Tree Shaking
- 🍭 Support import on demand
- 🍭 Support auto-import and provide a solver
Useage
Init
pnpm add virtual-scroll-list-liudingkang
import { createApp } from 'vue'
import App from './App.vue'
import Comps from 'virtual-scroll-list-liudingkang'
import 'virtual-scroll-list-liudingkang/es/style.css'
createApp(App).use(Comps).mount('#app')
Demo
<script setup lang="ts">
const genText = (base = 15) => {
const times = base + Math.ceil((Math.random() - 0.5) * base);
return Array(times)
.fill(1)
.map(() => 'every')
.join(' ');
};
const mockData = (num = 20) => {
let data = [];
for (let index = 0; index < num; index++) {
const times = 30 + Math.ceil((Math.random() - 0.5) * 30);
data.push(genText(times));
}
return data;
};
const data = mockData(5000);
</script>
<template>
<LdkDynamicList
:item-size="70"
item-class="item"
:width="300"
:height="300"
:data="data"
>
<template #default="{ item, index }">
<div :class="['list-item', index % 2 ? 'list-item-odd' : 'list-item-even']">
{{ item }}
</div>
</template>
</LdkDynamicList>
</template>
<style scoped>
.list-item {
display: flex;
justify-content: center;
align-items: center;
}
.list-item-odd {
background-color: rgb(229 178 38);
}
.list-item-even {
background-color: cadetblue;
}
</style>
Attributes
| Name | Description | Type | Default | Other |
|---|---|---|---|---|
itemSize |
每一项的高度 | number | 70 |
单位为px |
itemClass |
每一项的自定义 class | string | ||
itemKey |
每一项的 key | string/number | id |
|
data |
数据 | any | [] |
|
width |
可视区域宽度 | number/string | 100% |
|
height |
可视区域高度 | number/string | 300 |
当是 number 时单位为px |
cache |
上下缓冲数量 | number | 2 |
单位为px |
distance |
触底加载阈值 | number | 0 |
单位为px |
Events
| Name | Description | Type |
|---|---|---|
load |
达到加载阈值时触发的事件 | Function |
Related Packages
markdown-to-jsx
A very fast and versatile markdown toolchain. AST, React, React Native, SolidJS,...
200,072,413
2,394
@tracetail/vue
Vue 3 plugin and composables for TraceTail browser fingerprinting, with 99.6% ac...
12,996,441
vaul-vue
Vaul Vue is an unstyled drawer component for Vue that can be used as a Dialog re...
11,323,700
497
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 6.2.0 | ^3.3.4 | MIT | |
| 6.1.7 | ^3.3.4 | MIT | |
| 6.1.6 | ^3.3.4 | MIT | |
| 6.1.5 | ^3.3.4 | MIT | |
| 6.1.4 | ^3.3.4 | ISC | |
| 6.1.3 | ^3.3.4 | ISC | |
| 6.1.2 | ^3.3.4 | ISC | |
| 6.1.1 | ^3.3.4 | ISC | |
| 6.1.0 | ^3.3.4 | ISC | |
| 6.0.2 | ^3.3.4 | ISC | |
| 6.0.1 | ^3.3.4 | ISC | |
| 6.0.0 | ^3.3.4 | ISC | |
| 5.0.0 | ^3.3.4 | ISC | |
| 4.0.0 | ^3.3.4 | ISC | |
| 3.0.0 | ^3.3.4 | ISC | |
| 2.0.0 | ^3.3.4 | ISC | |
| 1.1.0 | ^3.3.4 | ISC | |
| 1.0.3 | ^3.3.4 | ISC | |
| 1.0.0 | ^3.3.4 | ISC |
Pre-releases (5)
| Version | Released | Vue | License |
|---|---|---|---|
| 6.0.3-alpha.2.0 | ^3.3.4 | ISC | |
| 6.0.3-alpha.1.0 | ^3.3.4 | ISC | |
| 6.0.2-alpha.0 | ^3.3.4 | ISC | |
| 1.0.4-alpha.2 | ^3.3.4 | ISC | |
| 1.0.4-alpha.1 | ^3.3.4 | ISC |