微信小程序实现下滑触底加载loading更多数据,用分页的原理实现下拉触底加载效果(动画效果)

文前推荐一下👉前端必备工具推荐网站(图床、API和ChatAI、智能AI简历、AI思维导图神器等实用工具):
站点入口:http://luckycola.com.cn/
图床:https://luckycola.com.cn/public/dist/#/imghub
多种API:https://luckycola.com.cn/public/dist/#/
ChatAI:https://luckycola.com.cn/public/dist/#/chatAi
AI思维导图神器:https://luckycola.com.cn/public/dist/#/aiQStore/aiMindPage

小程序上拉触底刷新,执行分页加载数据loading

  • 此博客适用于用分页方法使小程序下拉时实现需要加载更多数据时使用

先看效果图:
效果图

WXML文件中

	<view class="weui-loadmore" hidden="{{!searchLoading}}">
		<view class="weui-loading"></view>
		<view class="weui-loadmore__tips">正在加载</view>
	</view>
	<view class="weui-loadmore weui-loadmore_line" hidden="{{searchLoadingComplete}}">
		<view class="weui-loadmore__tips weui-loadmore__tips_in-line">已加载全部</view>
	</view>

没有wxss文件

JS文件

  • 现在data中定义一个控制下滑刷新的变量
data:{
  searchLoading: false, //"上拉加载"的变量,默认false,隐藏
    searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏
}
  • 在onload中先调用一次请求数据的方法(分页形式)
/**
   * 查询所有热搜
   */
  getAllHot() {
  //从自定义的接口中请求数据,先请求两条测试
    homeApi.getAllHot(1, 2).then((res) => {
      this.setData({
        pugeFind: res.data.hotList,
      });
    });
  },

下面是自定义的接口在这里插入图片描述

  • 现在data中定义一些需要的数据
  /**
   * 页面的初始数据
   */
  data: {
    page: 1,
    //发现
    pugeFind: null,
    //新闻个数
    searchLoading: false, //"上拉加载"的变量,默认false,隐藏
    searchLoadingComplete: false, //“没有数据”的变量,默认false,隐藏
  },
  • 然后在上拉触底的周期函数中设置触底的逻辑

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    // 触发加载中效果
    this.setData({
      searchLoading: true,
      searchLoadingComplete: true,
    });
    // 案例详情
    // 页数 +1
    this.data.page++;
    homeApi.getAllHot(this.data.page, 2).then((res) => {
      var allNews = res.data.hotList;
      //把新请求到的数据拼接到一个新数组中
      var findNews = [...this.data.pugeFind, ...allNews];
      //请求成功后关闭加载事件,并且重新赋值渲染的数据
      this.setData({
        pugeFind: findNews,
        searchLoading: false,
        searchLoadingComplete: false,
      });
    });
  },

最后到这就结束了,学到了就一键三连,谢谢啦~

更多推荐:wantLG的《普歌-前端结合vue-element-admin实现简单Oauth2.0内部第三方登录


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wantLG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值