千家信息网

vue3无限滚动组件怎么用

发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇"vue3无限滚动组件怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"vue
千家信息网最后更新 2025年11月16日vue3无限滚动组件怎么用

这篇"vue3无限滚动组件怎么用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"vue3无限滚动组件怎么用"文章吧。

什么是无限滚动组件

当我们的列表页有几百万条数据的时候应该怎么办呢?分页也许不是最好的体验方式,无限滚动就是解决这种场景更好的技术手段。当用户向下滚动内容时,会自动添加下一页的list组件,加载更多内容。用户无需等待页面预加载,而且对于前端渲染来说不会反复渲染大量组件提高了页面渲染性能。所以无限滚动可以为用户提供更好的体验。

无限滚动是电商网站、CMS后台等应用程序中非常常见的一种模式。在线零售商喜欢这种加载产品的模式,因为它允许用户无缝浏览一个类别中可用的每个产品,而不必经常暂停并等待下一页加载。【推荐:vue视频教程】

关于vue3-infinite-list

官网: https://github.com/tnfe/vue3-infinite-list

vue3-infinite-list是一个针对vue3的短小精悍的无限滚动组件,它体积非常小、零依赖gzip只有 3kb。虽然vue相关的无限滚动开源组件也有很多,但是对比同类产品vue3-infinite-list依然有不少自己的特点,并且它完全使用vue3 setup api + typescript编写,项目LOGO是一只千足毛毛虫? 。

特性

  • 体积小 & 零依赖 - gzipped 后只有 3kb

  • 支持百万级列表渲染, 不费吹灰之力

  • 支持滚动到指定条目指定初始滚动偏移量

  • 支持固定可变 宽/高的各类列表

  • 支持垂直 or 水平 不同布局的列表

  • For Vue3 typescript编写

  • 使用简单可以结合各类UI库使用

如何使用

使用 npm:
npm install vue3-infinite-list --save
使用 yarn:
yarn add vue3-infinite-list

引用

import InfiniteList from 'vue3-infinite-list';
      
{{ index + 1 }} : {{ item }}

使用示例

1.基本用法: item固定高度类型, 垂直滚动(默认) demo

使用非常简单,内部可以结合element-plus或者antd-vue、tdesign等UI库。

  
{{ index + 1 }} : {{ item }}

2.设置滚动方向为水平方向 demo

   
item{{ index }}
xxxxxxx
xxxxxxx
Primary

这里scrollDirection="horizontal"可以设置滚动方向为水平。

3.动态控制滚动高度(每一项item高度值是变化的) demo

      
item {{ index }} : {{ item }}
// 通过这个函数可以动态设置元素宽高.const getItemSize = (i: number): number => {      switch (i % 4) {        case 1:          return 80;        case 2:          return 50;        case 3:          return 100;        default:          return 200;      }  };

这里 getItemSize 是一个有如下语法的函数 : (i: number): number, 通过这个函数可以动态设置元素宽高。

4.滚动到指定元素位置 demo

   
item{{ index + 1 }} : {{ item }}

你也可以使用 scrollToIndex 来滚动到指定元素。

5.滚动到指定元素 (更精细的对齐方式) demo

    
item{{ index + 1 }} : {{ item }}

你可以使用 scrollToIndexscrollToAlignment 属性来指定滚动元素如何与滚动区域对齐, 由四个选项: auto, start, center, end,分别对应自动对齐、位于容器起始,位于容器中间,位于容器末尾。

6.滚动到指定位置,单位是像素 demo

            index: {{ index + 1 }}       xxxxxxxxxx              Primary         Success      

你也可以使用 scrollOffset 来滚动到指定位置。

7.支持动态变更数据 demo

      item{{ index + 1 }}   2022-05-01   Name: Tom        Button     Button      

只需要动态的改变绑定的 data.

8.设置额外渲染元素的数量 demo

  
{{ index + 1 }} : {{ item }}
在可见的item上/下再各多渲染额外的overscanCount个item。调整它可以帮助减少某些浏览器/设备上的滚动闪烁。

组件的属性和配置

属性类型是否必须?描述
widthNumber or String*列表宽度. 在滚动方向是 'horizontal'是用于确定滚动元素个数.
heightNumber or String*列表宽度. 在滚动方向是 'vertical'是用于确定滚动元素个数.
dataany[]构建滚动元素的数据
itemSize(index: number): number
可以是一个固定的宽/高(取决于滚动方向), 一个包含列表所有元素的数组, 或者是返回指定位置元素高度的函数: (index: number): number
scrollDirectionString
指定滚动方向 'vertical' (默认) 或 'horizontal'.
scrollOffsetNumber
可以指定滚动位置
scrollToIndexNumber
可以指定到滚动到哪个元素
scrollToAlignmentString
结合 scrollToIndex一起用, 用于控制滚动到的元素的对齐方式. 可选: 'start', 'center', 'end' or 'auto'. 使用 'start' 将对齐到容器的起始位置, 'end' 则对齐到元素的结尾. 使用 'center可以对齐到容器正中间. 'auto' 则是滚动到scrollToIndex指定元素恰好完全可见的位置
overscanCountNumber
在可见元素上/下额外渲染的元素数量. 这可以减少在特定浏览器/设备上的闪烁
width 在 scrollDirection'vertical'时只能是string类型。类似的, Height 在 scrollDirection'horizontal'时也只能是string类型*

以上就是关于"vue3无限滚动组件怎么用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

元素 组件 位置 内容 方向 动态 容器 支持 函数 用户 类型 高度 产品 属性 数据 方式 水平 浏览 个数 体积 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 海信电视有线网络连接不上服务器 数据库还原服务器不支持 镇江网络安全找工作 逸骏网络技术 asp数据库分析 网络安全人才发展指导中心 湖州软件开发价格多少 连云港网络安全处理办法 阜新小说阅读软件开发多少钱 清华网络安全研究院男女比例 天津拾光网络技术有限公司 哪个大数据软件开发好 内存数据库的意义 浙江专业软件开发管理 数据库出生日期的有效性规则 马蜂窝网络技术 三丰云服务器的自定义错误在哪儿 联通移动需要计算机网络技术吗 重庆企业云软件开发 oa的服务器错误 怎么恢复数据 如何检测服务器被攻击 如何让软件无法连接服务器 软件开发的服务费 网络安全人才发展指导中心 查看当前的数据库需要什么语句 思科网络技术学院教程考试题 mysql上传本地图片到数据库 数据库 自定义函数 线上pos机服务器异常 南京森林学院网络安全服务项目
0