微信小程序下拉刷新获取数据和触底事件刷新实现

这篇具有很好参考价值的文章主要介绍了微信小程序下拉刷新获取数据和触底事件刷新实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、下拉刷新

1.json文件

说明:开启下拉刷新,然后设置窗口的背景色,方便观看。

  "enablePullDownRefresh": true,
  "backgroundColor":"#FFC0CB"

 微信小程序下拉刷新获取数据和触底事件刷新实现,微信小程序,微信小程序,小程序

2. js文件

说明:重新发起请求,并显示加载中

   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.getData()
    wx.showLoading({
      title: '加载中',
    })
  },

 微信小程序下拉刷新获取数据和触底事件刷新实现,微信小程序,微信小程序,小程序

 3.js文件

说明:当数据请求成功后,收回下拉刷新框并关闭加载中。

      success: ({data}) => {
        // 数据加载成功,关闭下拉刷新
        wx.stopPullDownRefresh()
        // 成功后并关闭加载中
        wx.hideLoading()
      this.setData({
        arrList:data.data
      })
      },

二、触底事件刷新

2.json文件

说明:onReachBottomDistance定义了从页面底部的距离为50px,当滚动距离接近到这个值时,通常会触发一个函数或事件来加载更多内容。

  "onReachBottomDistance": 50

 说明:当距离页面底部为50px的时候,重新发起数据请求,并添加一个显示导航条加载动画(转态遮罩)

   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
   this.getData()
  //  在当前页面显示导航条加载动画,是一个状态遮罩
   wx.showNavigationBarLoading()


  },

 说明:改造了getData()函数,将以前的数据和现在获取的数据进行相加。以此下拉获取更多的信息。文章来源地址https://www.toymoban.com/news/detail-567859.html

  getData() {
    wx.request({
      url: '**',
      method:"GET",
      success: ({data:res}) => {
        // 数据加载成功,关闭下拉刷新
        wx.stopPullDownRefresh()
        // 成功后并关闭加载中
        wx.hideLoading()
        wx.hideNavigationBarLoading()
        let oldData=this.data.arrList
        let newData=oldData.concat(res.data)
      this.setData({
        arrList:newData
      })
      }
    })
  },

三、源码

3.1 xml文件

<!-- 简单的前台页面 -->
<view>
<block wx:for="{{arrList}}" wx:key="id">
<view>猫儿</view>
<image src="{{item.url}}" mode=""/>
</block>
</view>

3.2 js文件

// pages/refresh/refresh.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    arrList:[]
  },
  getData() {
    wx.request({
      url: '**',
      method:"GET",
      success: ({data:res}) => {
        // 数据加载成功,关闭下拉刷新
        wx.stopPullDownRefresh()
        // 成功后并关闭加载中
        wx.hideLoading()
       //关闭导航加载
        wx.hideNavigationBarLoading()
        let oldData=this.data.arrList
        let newData=oldData.concat(res.data)
      this.setData({
        arrList:newData
      })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getData()
    wx.showLoading({
      title: '加载中',
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.getData()
    //清空数据,重新获取数据(归零)
    this.setData({
      arrList:[]
    })
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
   this.getData()
  //  在当前页面显示导航条加载动画,是一个状态遮罩
   wx.showNavigationBarLoading()


  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

到了这里,关于微信小程序下拉刷新获取数据和触底事件刷新实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ⑥微信小程序--》小程序全局配置和详解下拉刷新和上拉触底页面事件

    目录 🏍️全局配置-window 🍇window小程序窗口的组成部分 🍇window节点常用的配置项 🍈window导航栏相关设置 设置导航栏标题 设置导航栏背景颜色  设置导航栏的标题颜色  🍉window下拉刷新  设置全局下拉刷新功能   设置下拉刷新的窗口背景色  设置下拉刷新的loading样式 

    2024年02月19日
    浏览(33)
  • web之移动端实现触底和触顶功能、微信小程序、置顶、置底、触发、uniApp、onReachBottom、onPageScroll

    触底 onReachBottom 监听用户上拉触底事件。 可以在 app.json 的 window 选项中或页面配置中设置触发距离 onReachBottomDistance 。 在触发距离内滑动期间,本事件只会被触发一次。 触顶事件 onPageScroll(Object object) 监听用户滑动页面事件。 参数 Object object 的属性为 scrollTop ;类型为 Numb

    2024年02月16日
    浏览(28)
  • 6-微信小程序导航跳转、下拉触底、生命周期

    navigator 导航组件 官网传送门 导航到tabBar页面 在使用 navigator 跳转到tabbar页面需指定 url 和 open-type 属性, open-type 必须为 switchTab 例:从home页跳转到message wxml 导航到非tabBar页面 在使用 navigator 跳转到非tabbar页面需指定 url 和 open-type 属性, open-type 必须为 navigate 例:从home页跳

    2024年01月23日
    浏览(36)
  • 小程序--下拉刷新/上拉触底

    一、什么是下拉刷新 下拉刷新 是移动端的专有名词,是指通过手指在屏幕上的下拉滑动操作,从而 重新加载页面数据 的行为 二、如何开启下拉刷新 ①全局开启下拉刷新 在app.json的windows节点中,将enablePullDownRefresh设置为true ②局部开启下拉刷新 在页面的.json配置文件中,将

    2024年02月14日
    浏览(34)
  • 微信小程序学习实录2(下拉刷新、下拉加载更多、小程序事件、PHP后端代码、刷新无数据解决方案)

    lazyCodeLoading基础库 2.11.1 及以上版本支持,2.11.1 以下兼容但无优化效果 通常情况下,在小程序启动期间,所有页面及自定义组件的代码都会进行注入,当前页面没有使用到的自定义组件和页面在注入后其实并没有被使用。自基础库版本 2.11.1 起,小程序支持有选择地注入必要

    2024年02月05日
    浏览(38)
  • 小程序onReachBottom上拉触底/下拉刷新没有反应问题(日常踩坑)

    今天踩了一个坑,因为改之前同事写的页面,新功能需要用到上拉刷新获取更多数据,当我加上onReachBottom时不管怎么上拉都没有效果后来发现给了整个页面固定高度,这就导致onReachBottom不触发了,其实还有很多导致onReachBottom不触发的,比如使用scroll-view处理不当也会导致o

    2024年02月03日
    浏览(33)
  • 微信小程序的双向数据绑定和vue的哪里不一样?下拉刷新的方式代码示例

    小程序的双向数据绑定和Vue的双向数据绑定有一些不同之处。 实现方式:小程序的双向数据绑定采用的是数据劫持的方式,通过重写对象的get和set方法来监听数据的变化和更新视图。而Vue使用的是响应式数据的方式,通过使用Object.defineProperty()方法来劫持对象的属性。 语法差

    2024年02月22日
    浏览(37)
  • 【微信小程序插件】下拉刷新、下拉加载

    今天在优化小程序的列表时候,想要把原生的 scroll-view 组件替换成一个下拉刷新的组件,然后就找了一下,果然有大神已经封装好。coolui-scroller 就是这样满足需求的一款插件,但是微信官网给出的描述以及安装引入的方式,会造成依赖安装失败,报错: 构建npm提示错误,未

    2024年02月08日
    浏览(70)
  • 微信小程序实现下拉刷新

    (1)把\\\"backgroundTextStyle\\\":“light\\\"改为\\\"backgroundTextStyle”:“dark” (2)添加\\\"enablePullDownRefresh\\\":true,开启下拉刷新。 1.在app.js中增加两个生命周期函数 1、首先在页面的json文件中添加设置:  “enablePullDownRefresh”: true  2、在js文件中写一个onRefresh()生命周期: 3、在onPullDownRefresh

    2024年02月13日
    浏览(31)
  • 【微信小程序】下拉刷新功能实现

    微信小程序开发系列 在开发微信小程序中经常会需要下拉页面进行更新要页面数据的功能,微信小程序提供了onPullDownRefresh函数。该函数作用是监听用户下拉动作。 监听用户下拉刷新事件。 需要在app.json的window选项中或页面配置中开启enablePullDownRefresh: 可以通过wx.startPullD

    2024年02月12日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包