文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

uni-app小程序中做页面滚动底部或顶部加载效果

2023-08-31 07:48

关注

在移动应用开发中,无限滚动加载是一个常见的功能,用户可以通过滑动屏幕来加载更多的内容,从而提高应用的用户体验。本文将介绍如何使用Uniapp实现无限滚动加载的功能。

概述

我们需要实现的无限滚动加载功能的具体效果如下:

  1. 当用户滑动到底部时,自动加载更多的数据。

  2. 在加载数据时,显示一个加载动画,防止用户误以为应用已经崩溃。

  3. 当所有数据都已经加载完毕时,提示用户“没有更多数据了”。

方案

我们可以通过以下步骤来实现无限滚动加载功能:

  1. cs.vue组件中,使用uni.createIntersectionObserver()方法创建一个交叉观察器,用于观察加载动画是否进入了用户的视图区域。

  2. 在交叉观察器的回调函数中,判断加载动画是否进入了用户的视图区域,并根据需要加载更多的数据。

  3. 在加载数据时,使用事件来控制加载动画的出现与隐藏。

  4. 当所有数据都已经加载完毕时,使用事件来控制“没有更多数据了”的提示是否显示。

  5. index.vue组件中,引入cs.vue组件,并通过事件来控制加载动画和“没有更多数据了”的提示是否显示。

实现

cs.vue组件中,我们需要使用事件来控制加载动画的出现与隐藏。具体来说,当交叉观察器的回调函数中判断需要加载数据时,我们需要通过$emit方法触发一个名为aaa的事件,并传递参数0,表示加载动画需要出现。当数据加载完毕后,我们再次触发aaa事件,并传递参数1,表示加载动画需要消失。代码如下:

if (res.intersectionRatio > 0) {  this.$emit("aaa", 0); // 加载动画出现  setTimeout(() => {    this.a += 10;    this.$emit("aaa", 1); // 加载动画消失  }, 3000)}

cs.vue组件中,我们还需要使用事件来控制“没有更多数据了”的提示是否显示。具体来说,当所有数据都已经加载完毕时,我们需要通过$emit方法触发一个名为aaa的事件,并传递参数2,表示“没有更多数据了”的提示需要显示。代码如下:

if (this.a > 50) return this.$emit("aaa", 2);

index.vue组件中,我们需要引入cs.vue组件,并通过事件来控制加载动画和“没有更多数据了”的提示是否显示。具体来说,我们需要监听aaa事件,并根据传递的参数来控制加载动画和“没有更多数据了”的提示是否显示。代码如下:

最后,为了避免内存泄漏,我们需要在cs.vue组件销毁时将交叉观察器断开连接。具体来说,我们需要在onUnload生命周期函数中使用disconnect()方法将交叉观察器断开连接。代码如下:

onUnload() {  if (observer) {    observer.disconnect()  }}

至此,我们就完成了无限滚动加载的实现。完整代码如下:

cs.vue组件代码:

index.vue组件代码:

QiuyLoading.vue里的内容

最后,看下效果吧!

来源地址:https://blog.csdn.net/weixin_60678263/article/details/129859542

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯