1.2.2 • Published 4 years ago

v-virtual-scroller v1.2.2

Weekly downloads
45
License
-
Repository
github
Last release
4 years ago

v-virtual-scroller

基于vue的虚拟滚动组件

特性

  • 支持横向、纵向、横纵使用三种虚拟滚动方式。
  • 支持不同长度的元素。

用法

  1. 安装插件

    npm i v-virtual-scroller
  2. 使用

注册为全局组件

import virtualScroller from 'v-virtual-scroller';
Vue.use(virtualScroller,'g'); //第二个参数为组件名前缀,选填。

或者按需引用

import {virtualScroller,virtualScrollerTable} from 'v-virtual-scroller';

export default {
    name: 'App',
    components: { virtualScroller,virtualScrollerTable },
}

virtual-scroller

单向虚拟滚动组件

基本用法

<template>
<virtual-scroller :items="items" v-slot="{ index, size, active }">
                <div>{{ index }}{{ size }} {{ active }}</div>
  </virtual-scroller>
</tempalte>
<script>
export default {
    data() {
        return {
            items: [20, 20, 20, 20, 20],
        };
    },
};
</script>

组件props参数

参数说明类型是否必填可选值默认值
items元素长度集合(以px为单位)array
direction虚拟滚动方向stringvertical,horizontalvertical

元素slot参数

参数说明类型
size元素的长度number
index元素在集合的位置number
active元素激活状态Boolean

组件事件

参数说明回调参数
scroll列表滚动时触发偏移值

virtual-scroller-table

同时支持横向纵向的虚拟滚动组件

基本用法

<template>
    <virtual-scroller-table
                            :cols="cols"
                            :rows="rows"
                            v-slot="{ rowIndex, colIndex, active }"
                            >
        <div>{{ colIndex }}{{ colIndex }} {{ active }}</div>
    </virtual-scroller-table>
</tempalte>
<script>
export default {
    data() {
        return {
            rows: [20, 20, 20, 20, 20],
            cols: [20, 20, 20, 20, 20]
        };
    },
};
</script>

组件props参数

参数说明类型是否必填可选值默认值举例
rows元素行长度集合(以px为单位)array20,20,20,20,20
cols元素列长度集合(以px为单位)array20,20,20,20,20

元素slot参数

参数说明类型
rowIndex元素在行集合的位置number
colIndex元素在列集合的位置number
height元素高度number
width元素宽度number
active元素激活状态Boolean

组件事件

参数说明回调参数
scroll列表滚动时触发left :横向偏移值, top:纵向偏移值

参考

再谈前端虚拟列表的实现

无尽滚动的复杂度 -- 来自 Google 大神的拆解

1.2.2

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago