Element UI - v-infinite-scroll无限滚动组件

简介: Element UI - v-infinite-scroll无限滚动组件

Element UI - v-infinite-scroll无限滚动组件

数据实现滚动至底部时,加载更多数据

在要实现滚动加载的列表上上添加v-infinite-scroll,并赋值相应的加载方法,可实现滚动到底部时自动执行加载方法。

亿点小知识:这里我们要注意 v-infinite-scroll一定要放到父容器上,同时通过disabled来进行止住加载数据

<template>
  <ul class="infinite-list" v-infinite-scroll="load" :infinite-scroll-disabled='disabled'>
    <li v-for="i in count" class="infinite-list-item">{{ i }}</li>
  </ul>
</template>
<script>
  export default {
    data () {
      return {
        count: 0,
        disabled:false
      }
    },
    methods: {
      load () {
        if(this.count >= 20){
          this.disabled = true
        }else{
          this.count += 2
        }
      }
    }
  }
</script>

以上就可以控制数据的加载 最多为20条数据

接下来我们在看一下有哪些属性可以更好的帮助我们开发

v-infinite-scroll : oad无限滚动加载的方法

infinite-scroll-disabled : 是否禁用无限滚动加载

infinite-scroll-delay : 节流时延,单位为ms

infinite-scroll-distance: 触发加载的距离阈值,单位为px

infinite-scroll-immediate: 是否立即执行加载方法,以防初始状态下内容无法撑满容器。

默认情况下,infinite-scroll-disabled是false,因此如果组件使用无限滚动加载组件,即使在vue不进行加载方法的调用,组件也会调用该方法,因此如果需要控制的话,尽量是使用infinite-scroll-disabled属性来进行加载方法是否调用的控制。

接下来看一段实战的代码:

通过disabled 控制

使用watch 侦听数据的变化

count记录当前是第几页

记得在页面初始的时候 初始化数

<template>
  <ul class="infinite-list" v-infinite-scroll="load" :infinite-scroll-disabled='disabled'>
    <li v-for="i in dataList" class="infinite-list-item">{{ i }}</li>
  </ul>
</template>
<script>
  export default {
    data () {
      return {
        count: 0,
        disabled:false,
        dataList:[]
      }
    },
   watch: {
    () => this.dataList.length,
    value => {
      if (this.totalQuery== this.inheritData.length) {
        this.disabled = true;
      }
    }
  },
    methods: {
      getData(){
       const data: any = await getList({page: this.count});
      this.totalQuery= data.total;
      if (this.totalQuery== this.dataList.length) {
        this.disabled= true;
      } else {
        this.dataList= [...this.dataList, ...data?.data];
        this.count += 1;
        this.disabled= false;
      }
      },
      load () {
        if (totalQuery!= this.dataList.length) {
        this.getData();
      } else {
       this.disabled = true;
      }
      }
    }
  }
</script>

以上就是对v-infinite-scroll无限滚动组件感谢大家的阅读

如碰到其他的问题 可以私下我 一起探讨学习

如果对你有所帮助还请 点赞 收藏谢谢~!

关注收藏博客 作者会持续更新…

相关文章
|
12天前
|
缓存 搜索推荐 索引
「Mac畅玩鸿蒙与硬件12」鸿蒙UI组件篇2 - Image组件的使用
在鸿蒙应用开发中,Image 组件用于加载和显示图片资源,并提供多种属性来控制图片的显示效果和适配方式。本篇将带你学习如何在鸿蒙应用中加载本地和远程图片、设置图片样式以及实现简单的图片轮播功能。
51 7
「Mac畅玩鸿蒙与硬件12」鸿蒙UI组件篇2 - Image组件的使用
|
3天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。
|
14天前
|
自然语言处理 开发者
「Mac畅玩鸿蒙与硬件11」鸿蒙 UI 组件篇1 - Text 和 Button 组件详解
本篇将详细介绍鸿蒙应用开发中的 Text 和 Button 组件。通过本篇内容,你将学习如何使用 Text 组件显示文本、格式化文本样式,以及如何使用 Button 组件处理点击事件并自定义样式。掌握这些基本组件的用法将为后续的 UI 开发奠定基础。
41 4
「Mac畅玩鸿蒙与硬件11」鸿蒙 UI 组件篇1 - Text 和 Button 组件详解
|
1月前
|
API UED 容器
深入探索 Element UI:自定义滚动条与弹出层管理的技巧
在这篇博客中,我们将深入探讨 Element UI 中的自定义滚动条及弹出层管理技巧。文章详细介绍了 el-scrollbar 组件的使用和参数设置,以及 PopupManager 如何有效管理弹出层的 z-index。我们还将探讨如何实现灵活的全屏组件,利用 vue-popper 创建自定义弹出层,最后介绍 ClickOutside 指令的用法。这些高级技巧将帮助你提升 Element UI 应用程序的用户体验与交互灵活性。
185 1
深入探索 Element UI:自定义滚动条与弹出层管理的技巧
|
30天前
|
JavaScript 索引
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
Vue开发中Element UI/Plus使用指南:常见问题(如Missing required prop: “value“)及中文全局组件配置解决方案
108 0
|
2月前
|
JavaScript
从零开始写一套广告组件【一】搭建基础框架并配置UI组件库
其实这个从零有点歧义,因为本质上是要基于`tdesign-vue-next`来进行二次封装为一套广告UI组件库,现在让我们在一起快乐的搭建自己的广告UI库之前,先对以下内容做出共识:
80 0
从零开始写一套广告组件【一】搭建基础框架并配置UI组件库
|
1月前
Element-UI组件的使用
【10月更文挑战第1天】
34 0
|
3月前
|
开发者 C# Android开发
明白吗?Xamarin与Native的终极对决:究竟哪种开发方式更适合您的项目需求,让我们一探究竟!
【8月更文挑战第31天】随着移动应用开发的普及,开发者面临多种技术选择。本文对比了跨平台解决方案Xamarin与原生开发方式的优势与劣势。Xamarin使用C#进行跨平台开发,代码复用率高,可大幅降低开发成本;但因基于抽象层,可能影响性能。原生开发则充分利用平台特性,提供最佳用户体验,但需维护多套代码库,增加工作量。开发者应根据项目需求、团队技能和预算综合考量,选择最适合的开发方式。
110 0
|
3月前
|
JavaScript 前端开发 开发者
决战前端之巅!Element UI与Vuetify谁才是Vue.js组件界的霸主?一场关于颜值与实力的较量!
【8月更文挑战第30天】本文对比了两款热门的Vue.js组件库——Element UI与Vuetify。Element UI由饿了么团队打造,提供多种高质量UI组件,设计简洁大方。Vuetify基于Material Design规范,支持Vue.js 2.0及3.0版本,具备前瞻性。两者均涵盖表单、导航、数据展示等组件,Element UI配置选项丰富,而Vuetify则提供了更深层的样式定制功能。开发者可根据项目需求及个人偏好选择合适的组件库。
254 0
|
1月前
|
开发框架 JavaScript 前端开发
鸿蒙NEXT开发声明式UI是咋回事?
【10月更文挑战第15天】鸿蒙NEXT的声明式UI基于ArkTS,提供高效简洁的开发体验。ArkTS扩展了TypeScript,支持声明式UI描述、自定义组件及状态管理。ArkUI框架则提供了丰富的组件、布局计算和动画能力。开发者仅需关注数据变化,UI将自动更新,简化了开发流程。此外,其前后端分层设计与编译时优化确保了高性能运行,利于生态发展。通过组件创建、状态管理和渲染控制等方式,开发者能快速构建高质量的鸿蒙应用。
109 3