小程序API —— 56页面处理函数 - 下拉刷新

下拉刷新时小程序中常见的一种刷新方式,当用户下拉页面的时候,页面会自动刷新,以便用户获取最新的内容;

小程序中实现下拉刷新的方式:

  1. 在 app.json 或者 page.json 中开启允许下拉,同时可以配置窗口、loading 样式等;
  2. 在 页面.js 中定义 onPullDownRefresh 事件监听用户下拉刷新;

下面打开微信开发者工具来配置一下下拉刷新功能:

  • 在 pages/cate/cate.json 中配置允许下拉:

    yaml 复制代码
    {
      "usingComponents": {},
      "onReachBottomDistance": 100,
      "enablePullDownRefresh": true,
      "backgroundColor": "#efefef",
      "backgroundTextStyle": "light" 
    }

    点击编译,下拉页面,可以看到页面允许下拉,下拉窗口背景颜色为 #efefef,下拉窗口 loading 颜色为 light,如下:

  • 在 pages/cate/cate.js 中定义一个下拉刷新事件处理函数,如下所示:

    javascript 复制代码
      // 监听用户下拉刷新
      onPullDownRefresh(){
        console.log("监听用户下拉刷新")
      }
    })

    点击编译,下拉页面,可以看到 Console 区域打印了对应的信息,如下所示:

结合上一节(小程序API ------ 55页面处理函数 -上拉加载)内容,实现下面的需求:当用户上拉加载更多以后,如果用户进行下拉刷新,需要将数据重置:

  • 在 pages/cate/cate.js 中添加对应的刷新逻辑,如下所示:

    javascript 复制代码
      // 监听用户下拉刷新
      onPullDownRefresh(){
        // console.log("监听用户下拉刷新")
    
        // 当用户上拉加载更多以后,如果用户进行了下拉刷新,需要将数据进行重置
        this.setData({
          numList: [1, 2, 3]
        })
    
        // 下拉刷新以后,loading 效果有可能不会弹回去
        if(this.data.numList.length === 3){
          wx.stopPullDownRefresh()
        }
      }
  • 点击编译,先下拉页面更新当前展示数据,然后刷新页面,可以看到当前数字重新变为 [1, 2, 3],如下所示:

参考视频:尚硅谷微信小程序开发教程

相关推荐
风月歌24 分钟前
基于微信小程序的学习资料销售平台源代码(源码+文档+数据库)
java·数据库·mysql·微信小程序·小程序·毕业设计·源码
半兽先生43 分钟前
微信小程序与web-view页面双向通信
前端·微信小程序·小程序
小明记账簿44 分钟前
微信小程序中Crypto.js加密解密
微信小程序·小程序·加密·解密
qq_12498707531 小时前
基于springboot的幼儿园家校联动小程序的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·spring·微信小程序·小程序
游戏开发爱好者81 小时前
苹果 App 上架流程,结合 Xcode、CI 等常见工具
macos·ios·ci/cd·小程序·uni-app·iphone·xcode
2501_915106321 小时前
用 HBuilder 上架 iOS 应用时如何管理Bundle ID、证书与描述文件
android·ios·小程序·https·uni-app·iphone·webview
2501_915909062 小时前
资源文件混淆在 iOS 应用安全中的实际价值
android·安全·ios·小程序·uni-app·iphone·webview
2501_915918412 小时前
iOS App 性能测试中常被忽略的运行期问题
android·ios·小程序·https·uni-app·iphone·webview
狮子也疯狂2 小时前
【鸿蒙小程序】| 鸿蒙系统中的元服务创新与实践
小程序·notepad++·harmonyos
汝生淮南吾在北17 小时前
SpringBoot3+Vue3小区物业报修系统+微信小程序
微信小程序·小程序·vue·毕业设计·springboot·课程设计·毕设