iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue3无限滚动组件怎么用
  • 302
分享到

vue3无限滚动组件怎么用

2023-06-29 18:06:46 302人浏览 八月长安
摘要

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

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

什么是无限滚动组件

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

vue3无限滚动组件怎么用

无限滚动是电商网站、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是一只千足毛毛虫? 。

vue3无限滚动组件怎么用

特性

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

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

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

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

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

  • For Vue3 typescript编写

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

vue3无限滚动组件怎么用

如何使用

vue3无限滚动组件怎么用

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

引用

import InfiniteList from 'vue3-infinite-list';
  <InfiniteList    :data="data"    :width="'100%'"    :height="500"    :itemSize="50"    :debug="debug"    v-slot="{ item, index }"   >    <div class="li-con">{{ index + 1 }} : {{ item }}</div>  </InfiniteList>

使用示例

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

vue3无限滚动组件怎么用

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

<InfiniteList   :data="data"   :width="'100%'"   :height="500"   :itemSize="50"   :debug="debug"   v-slot="{ item, index }">  <div class="li-con">{{ index + 1 }} : {{ item }}</div></InfiniteList>

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

  <InfiniteList :data="data" :width="900" :height="220" :itemSize="115" scrollDirection="horizontal" :debug="debug" v-slot="{ item, index }"  > <div class="li-con li-con-r">   item{{ index }} <br />   xxxxxxx <br />   xxxxxxx <br />   <el-button type="primary" round>Primary</el-button> </div>  </InfiniteList>

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

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

vue3无限滚动组件怎么用

  <InfiniteList    :data="data"    :width="'100%'"    :height="520"    :itemSize="getItemSize"    :debug="debug"    v-slot="{ item, index }"  >    <div class="li-con">item {{ index }} : {{ item }}</div>  </InfiniteList>
// 通过这个函数可以动态设置元素宽高.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

  <InfiniteList :data="data" :width="'100%'" :height="500" :itemSize="getItemSize" :scrollToIndex="scrollToIndex" :debug="debug" v-slot="{ item, index }"  > <div class="li-con" :class="getClass(index)">item{{ index + 1 }} : {{ item }}</div>  </InfiniteList>

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

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

 <InfiniteList   :data="data"   :width="'100%'"   :height="500"   :itemSize="getItemSize"   :scrollToIndex="scrollToIndex"   :scrollToAlignment="scrollToAlignment"   :debug="debug"   v-slot="{ item, index }" >   <div      class="li-con"      :class="getClass(index)"    >      item{{ index + 1 }} : {{ item }}   </div> </InfiniteList>

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

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

  <InfiniteList    :data="data"    :width="'100%'"    :height="500"    :itemSize="90"    :scrollOffset="scrollOffset"    :debug="debug"    v-slot="{ item, index }"  >    <el-row class="mb-4 li-con">      <el-col :span="8">index: {{ index + 1 }} </el-col>      <el-col :span="8">xxxxxxxxxx</el-col>      <el-col :span="8">        <el-button type="primary">Primary</el-button>         <el-button type="success">Success</el-button></el-col      >    </el-row>  </InfiniteList>

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

7.支持动态变更数据 demo

  <InfiniteList  :data="data"  :width="'100%'"  :height="500"  :itemSize="60"  :debug="debug"  v-slot="{ item, index }"  > <el-row class="li-con">   <el-col :span="6">item{{ index + 1 }}</el-col>   <el-col :span="6">2022-05-01</el-col>   <el-col :span="6">Name: Tom</el-col>   <el-col :span="6">     <el-button type="primary">Button</el-button>     <el-button type="success">Button</el-button>   </el-col> </el-row>  </InfiniteList>

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

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

<InfiniteList   :overscanCount="2"   :data="data"   :width="'100%'"   :height="500"   :itemSize="50"   :debug="debug"   v-slot="{ item, index }">  <div class="li-con">{{ index + 1 }} : {{ item }}</div></InfiniteList>
在可见的item上/下再各多渲染额外的overscanCount个item。调整它可以帮助减少某些浏览器/设备上的滚动闪烁。

vue3无限滚动组件怎么用

组件的属性和配置

属性类型是否必须?描述
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无限滚动组件怎么用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: vue3无限滚动组件怎么用

本文链接: https://www.lsjlt.com/news/326140.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3无限滚动组件怎么用
    这篇“vue3无限滚动组件怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3无限滚动组件怎么用”文章吧。什么是无限...
    99+
    2023-06-29
  • 基于Vue3实现无限滚动组件的示例代码
    目录为什么还要使用无限滚动组件无限滚动的优点无限滚动的缺点主要分为三个部分1.模拟 API 调用2.制作我们的内容组件3.显示我们的内容4.Vue3 无限滚动如果你在社交媒体上停留的...
    99+
    2024-04-02
  • vue3实现CSS无限无缝滚动效果
    本文实例为大家分享了vue3实现CSS无限无缝滚动效果的具体代码,供大家参考,具体内容如下 template 双层div嵌套,进行隐藏滚动显示 <div class="li...
    99+
    2024-04-02
  • Unity UI组件ScrollRect实现无限滚动条
    在游戏开发中经常遇到滚动显示的数据,特别是商店商品 排行榜 .......等数据很多,每一条数据去加载一个UI来显示显然对内存浪费很大,这种情况处理一般就是用几个显示条可滚动循环显示...
    99+
    2024-04-02
  • vue-seamless-scroll无缝滚动组件怎么使用
    今天小编给大家分享一下vue-seamless-scroll无缝滚动组件怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧...
    99+
    2023-06-29
  • Element UI中v-infinite-scroll无限滚动组件使用详解
    目录一、v-infinite-scroll无限滚动组件使用详解二、组件无限加载原因及解决方式三、总结总结一、v-infinite-scroll无限滚动组件使用详解 1、v-infi...
    99+
    2023-02-08
    element ui 无限滚动组件 element表格无限滚动 elementui v-infinite-scroll
  • 简单方法实现Vue 无限滚动组件示例
    目录1. 前言2. 整体思路开始3. 钩子函数3.1 获取偏移初始位置的像素值3.2 获取开始滚动和结束滚动的钩子函数4. 完整代码1. 前言 对于列表类型的大量数据,前端展示往往采...
    99+
    2022-11-13
    Vue 无限滚动组件 Vue 滚动组件
  • Flutter Sliver滚动组件怎么用
    这篇文章主要介绍了Flutter Sliver滚动组件怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Flutter Sliver滚动组件 SliverList...
    99+
    2023-06-25
  • Selenium怎么实现页面虚拟滚动和无限滚动
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • vue3动态组件怎么使用
    这篇文章主要介绍“vue3动态组件怎么使用”,在日常操作中,相信很多人在vue3动态组件怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3动态组件怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-07-06
  • vue怎么实现无限消息无缝滚动
    本篇内容主要讲解“vue怎么实现无限消息无缝滚动”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现无限消息无缝滚动”吧!一、html<div class="t...
    99+
    2023-06-29
  • vue支持百万量级的无限滚动组件详解
    目录正文vue3-infinite-list特点安装使用功能正文 滚动相信大家都做过,但是不知道大家当遇到大量数据甚至几百万条数据时该怎么办呢 或许有小伙伴说:用分页呀,每次只展示...
    99+
    2023-02-16
    vue 百万量级的无限滚动vue vue 百万级滚动插件
  • JS怎么用transform实现banner的无限滚动
    本篇内容介绍了“JS怎么用transform实现banner的无限滚动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够...
    99+
    2024-04-02
  • Vue怎么优化无限滚动列表
    这篇文章主要介绍“Vue怎么优化无限滚动列表”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue怎么优化无限滚动列表”文章能帮助大家解决问题。问题大家都知道,Web 页面修改 DOM 是开销较大的操...
    99+
    2023-07-04
  • element中ScrollBar滚动组件怎么用
    这篇文章将为大家详细讲解有关element中ScrollBar滚动组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。scrollbar组件根目录下包括index.j...
    99+
    2024-04-02
  • 怎么使用CSS3实现无限循环的无缝滚动
    小编给大家分享一下怎么使用CSS3实现无限循环的无缝滚动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. 使用CSS3来实现若...
    99+
    2024-04-02
  • Vue3 Element-plus和el-menu无限级菜单组件怎么封装
    对于element中提供给我们的el-menu组件最多可以实现三层嵌套,如果多一层数据只能自己通过变量去加一层,如果加了两层、三层这种往往是行不通的,所以只能进行封装效果图 一、定义数据MenuData.tsexport default [...
    99+
    2023-05-14
    Vue3 Element-plus el-menu
  • CSS3怎么实现无限循环的无缝滚动效果
    这篇文章主要讲解了“CSS3怎么实现无限循环的无缝滚动效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3怎么实现无限循环的无缝滚动效果”吧!1. 使用CSS3来实现若要用CSS3的属...
    99+
    2023-07-05
  • vue3动态加载组件及动态引入组件怎么使用
    本篇内容介绍了“vue3动态加载组件及动态引入组件怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.问题在做一个用vite构建的vu...
    99+
    2023-07-05
  • Unity 中怎么利用ScrollRect实现一个无限滚动条
    本篇文章为大家展示了Unity 中怎么利用ScrollRect实现一个无限滚动条,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一 .总体流程建一个循环滑动脚本 InfinityGridLayoutG...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作