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无限滚动组件感谢大家的阅读

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

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

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

相关文章
|
9月前
|
开发者 容器
44.[HarmonyOS NEXT RelativeContainer案例一] 掌握组件锚点布局:打造灵活精准的UI定位系统
在HarmonyOS NEXT的UI开发中,精确控制组件位置是构建复杂界面的关键。RelativeContainer作为一种强大的布局容器,通过锚点系统提供了精确定位能力,使开发者能够创建出灵活且精准的UI布局。本教程将详细讲解如何使用RelativeContainer的锚点布局功能,帮助你掌握这一核心技术。
291 4
|
9月前
|
设计模式 缓存 容器
06.HarmonyOS Next UI进阶:Text组件与视觉样式完全指南
在HarmonyOS Next应用开发中,Text组件是最基础也是最常用的UI元素之一。它不仅用于显示文本内容,还可以通过丰富的样式属性实现各种视觉效果。掌握Text组件的样式设置,是构建精美UI界面的基础技能。
443 1
|
6月前
|
Linux Go iOS开发
IDA 9.2 发布:Golang 改进、新 UI 组件、类型解析等
IDA Pro 9.2 (macOS, Linux, Windows) - 强大的反汇编程序、反编译器和多功能调试器
1187 0
|
8月前
|
Web App开发 前端开发 JavaScript
Element UI框架中自定义input组件的placeholder样式。
确保这些样式在你的应用程序CSS文件中定义,且该文件已正确加载到项目中。通过以上方法,可以控制Element UI组件中input的placeholder样式,使其满足特定的设计要求。这些更改都是基于CSS伪元素进行的,因此并不会对DOM结构产生改变,保持了原有结构的简洁和高效。
711 12
|
8月前
|
存储 JavaScript 前端开发
element ui <el-date-picker> 设置展示当前月
在 Element UI 中,使用 `el-date-picker` 的 `value-format` 属性可将日期值格式化为指定字符串。设置 `type=&quot;month&quot;` 时,绑定值默认为 Date 对象,通过 `value-format=&quot;yyyy-MM&quot;` 可将其转为如 &quot;2023-05&quot; 格式,便于存储与处理。
1366 0
|
9月前
|
移动开发 开发者
仓颉开发语言入门教程:常见UI组件介绍和一些问题踩坑
仓颉开发语言即将发布一周年,虽已有知名App应用,但教程稀缺且官网文档不够完善。幽蓝君推出系列教程,从零开始系统讲解移动开发。本期介绍常用UI组件:按钮、文本、图片、输入框与搜索框的使用方法及注意事项,帮助开发者快速上手仓颉语言。
|
JavaScript 数据安全/隐私保护
Vue Amazing UI 组件库(Vue3+TypeScript+Vite 等最新技术栈开发)
Vue Amazing UI 是一个基于 Vue 3、TypeScript、Vite 等最新技术栈开发构建的现代化组件库,包含丰富的 UI 组件和常用工具函数,并且持续不断维护更新中。另外,组件库全量使用 TypeScript,支持自动按需引入和 Tree Shaking 等,能够显著提升开发效率,降低开发成本。
743 5
Vue Amazing UI 组件库(Vue3+TypeScript+Vite 等最新技术栈开发)
|
人工智能 自然语言处理 前端开发
Flame:开源AI设计图转代码模型!生成React组件,精准还原UI+动态交互效果
Flame 是一款开源的多模态 AI 模型,能够将 UI 设计图转换为高质量的现代前端代码,支持 React 等主流框架,具备动态交互、组件化开发等功能,显著提升前端开发效率。
1938 1
|
12月前
|
安全 API 开发者
深入探索ArkUI中的@LocalBuilder装饰器:构建高效可维护的UI组件
在ArkUI框架中,组件化开发至关重要。@LocalBuilder作为自API version 12引入的装饰器,专注于组件内部私有构建,确保封装性与安全性。本文解析其工作原理、参数传递机制及与@Builder的区别,结合典型场景代码示例,助开发者掌握这一工具。通过状态驱动UI更新、复杂组件组合等实践,优化性能并提升代码可维护性,推动高效UI架构构建。
346 0
|
10月前
|
开发框架 前端开发 JavaScript
【HarmonyOS Next之旅】基于ArkTS开发(二) -> UI开发一
本文介绍了方舟开发框架(ArkUI)及其两种开发范式:基于ArkTS的声明式开发范式和类Web开发范式。ArkUI是用于构建HarmonyOS应用界面的UI框架,提供极简UI语法和基础设施。声明式开发范式使用ArkTS语言,以组件、动画和状态管理为核心,适合复杂团队协作;类Web开发范式采用HML、CSS、JavaScript三段式开发,适用于简单界面应用,贴近Web开发者习惯。文中还概述了两者的架构和基础能力,帮助开发者选择合适的范式进行高效开发。
333 15