0.1.10 • Published 1 year ago

vue3-virtual-scroll v0.1.10

Weekly downloads
-
License
-
Repository
-
Last release
1 year ago

Vue3 虚拟滚动

vue3 虚拟滚动列表,支持无限滚动加载,丝滑流畅的滚动体验

在线演示地址

安装

npm install vue3-virtual-scroll

使用

import { VirtualScroll } from 'vue3-virtual-scroll'
import 'vue3-virtual-scroll/style.css'
<VirtualScroll :list="list" :height="121" :on-touch-end="onTouchEnd">
  <template #default="{ item }">
    <ProductCard :details="item" />
  </template>
</VirtualScroll>

作用域插槽返回了1个字段: item 原始数据

Props 完整参数

参数名类型默认值描述
listArray[]列表数据
gridNumber1每一排的数量,默认为1
heightNumber0每一行的高度,该字段为必填
rowKeyStringid每一行的唯一key,该字段为必填
loadingTextString加载中,请稍等加载时候的文字显示
bufferCountNumber4上下的缓冲条数,解决滑动过快时白屏bug
wrapperStyleObject{}列表包裹容器的样式
colSpaceNumber0列间距
rowSpaceNumber0行间距
onTouchEndFunctionfunction() {}触底回调函数

onTouchEnd 使用方法

此处模拟了随机拉取失败的情况,返回的错误信息将在底部展示,点击后会重新拉取。需要注意的是在成功后再将页数 +1,否则失败后的重新拉取会出现页数错乱的情况。

function onTouchEnd() {
  return new Promise((resolve, reject) => {
    getList({ page: pageNum, pageSize: 50 }).then((newList) => {
      if (Math.random() > 0.3) {
        list.value.push(...newList)
        pageNum += 1;
        resolve(true)
      }
      else {
        reject(new Error('加载失败,点击重新拉取数据'))
      }
    })
  })
}

Events

事件名称说明回调参数
scroll滚动事件(startIndex: number, endIndex: number)

Methods

方法名称说明参数
scrollToIndex滚动到索引(index: number, offset: number)
0.1.10

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.9

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago