在vue-virtual-scroll-list的子组件模板中,为需要触发点击事件的元素添加@click指令。例如,如果你希望在每个列表项上添加点击事件,可以在ItemComponent.vue中实现这一点。 vue <template> <div @click="handleItemClick"> {{ item.content }} </div> </template> <script>...
建一个新的文件夹,在这个文件夹中创建一个vue2的项目:vue create vue2-virtual-scroll,模板选择默认的vue2模板即可; 在components目录下创建一个List.vue组件,用来进行虚拟列表的展示; 在App.vue主入口页面中去引入该组件: 1 <template> 2 3 <List 4 :items="items" 5 :size="60" 6 :shownumber="10"...
npm install vue-virtual-scroll-list 1. 页面使用 <template> <virtual-list style="height: 300px; overflow-y: auto" class="virtual-list" :data-key="'id'" :data-sources="goodsList" :data-component="itemComponent" :extra-props="{ itemClick: itemClick, current: current, }" /> <!--...
itemClick: itemClick, current: current, }"/><!-- data-key:循环内容的key, data-sources:循环的数据 data-component:循环的内容,这里由VirtualItem.vue extra-prop:其他要传入循环内容的props --></template>importVirtualListfrom"vue-virtual-scroll-list";importVirtualItemfrom"./VirtualItem";exportdefault...
项目中数据量有时候过于庞大,使用elementui的Select组件时,会导致下拉框加载速度慢卡顿甚至于卡死,为解决这个问题,使用vue-virtual-scroll-list插件 ,模拟虚拟滚动。 vue-virtual-scroll-list是vue的一个虚拟滚动组件,通过不渲染可视区域以外的内容,显示虚拟的滚动条来提升页面性能 ...
import virtualList from 'vue-virtual-scroll-list' components:{ 'virtual-list': virtualList }, 基础用法 属性说明 data-key=“selectData.value” 就是绑定的唯一key值,可传入动态的 data-sources=“selectArr” 下拉框的数组 data-component=“itemComponent” 就是抽离中的el-option组件 keeps=“20” 渲...
Vue.js 学习笔记 - 虚拟列表(Virtual-Scroll-List)心得 虚拟列表 背景 手上有个字幕编辑器的项目,因为长视频也许会有几千条字幕,所以字幕编辑器的列表中就会有几千条列表项。 但是如果将这几千条列表项全部渲染在 DOM 中,就会造成浏览器轻则卡顿,重则卡死,根本无法正常使用。 针对这种情况,我通过 Google 了解...
简介: Vue中 引入使用 vue-virtual-scroll-list 通过虚拟列表滚动加载,解决数据量过多时 页面卡顿、体验差的问题 1. 简介 vue-virtual-scroll-list npm 地址 vue-virtual-scroll-list 主页 安装 npm i vue-virtual-scroll-list 对比 通过v-for 渲染 10000 个节点,当页面展示94~100区间内的数据时,我们发现浏览...
在项目中有一个sku表(是一个尺码和颜色乘积的表格),假如有10个颜色,20个尺码,那这个sku表就会有200行。有一个客户有100个颜色的需求,100个颜色的时候如果有5个尺码,就会有500行,这样会使页面很卡,于是找到了vue-virtual-scroll-list这个插件。
VirtualScroll.vue文件 <template> <!-- wrapper可视容器需要设置overflow-y:auto;才能监听滚动事件,在父组件使用该组件时,需要设置wrapper可视容器的区域范围 --> <!-- content填充要显示内容以及上下空白占位 --> <!-- 每条数据的内容结构通过插槽的方式让父组件调用该组件时填充进来...