微信小程序之上拉加载和下拉刷新 —— 微信小程序教程系列(18)

本文详细介绍了如何在微信小程序中实现下拉刷新和上拉加载更多功能,通过onPullDownRefresh和onReachBottom事件,结合导航栏loading显示加载效果,使用户体验更加流畅。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在微信小程序上实现下拉刷新、上拉加载的效果

使用系统提供的onPullDownRefresh、onReachBottom这2个事件,

前提需要在app.json或page.json配置文件中设置,才能使用。

app.json是全应用的页面都可以使用该事件,page.json则只是对应的页面才可以使用。

19956127-200cf97d8b848d7b.png

示例:

app.json:

在app.json文件里设置window属性

{
  "window":{
"enablePullDownRefresh": true
  }
}

page.json:

在page.json文件里直接设置属性

{
    "enablePullDownRefresh": true
}

示例:
可以结合导航栏loading显示正在加载的效果

Page({
  data: {
    pageNum: 1,       // 设置加载的第几次,默认是第一次
    isFirstLoad: true,   // 用于判断List数组是不是空数组,默认true,空的数组
    hasMore: false,    // “加载更多”
  },
  // 下拉刷新
  onPullDownRefresh: function () {
    // 显示导航栏loading
    wx.showNavigationBarLoading();
    // 调用接口加载数据
    this.loadData();
    // 隐藏导航栏loading
    wx.hideNavigationBarLoading();
    // 当处理完数据刷新后,wx.stopPullDownRefresh可以停止当前页面的下拉刷新
    wx.stopPullDownRefresh();
  },
  // 上拉加载
  onReachBottom(e) {
    let that = this;
    if (that.data.hasMore) {
      that.setData({
        pageNum: that.data.pageNum + 1,  // 每次触发上拉事件,把pageNum+1
        isFirstLoad: false                // 触发到上拉事件,把isFirstLoad设为为false
      });
 
      that.loadData();
    }
  },
})

原文作者:michael_ouyang
原文链接:https://blog.youkuaiyun.com/michael_ouyang/article/details/55215104

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值