【微信小程序】-- 页面事件 - 下拉刷新(二十五)

简介: 【微信小程序】-- 页面事件 - 下拉刷新(二十五)



一、下拉刷新事件

  前面已经学习完了页面导航,基本了解到声明式导航和编程式导航,还有导航传参以及将形参挂载当前页面中进行使用。接下来就来学习一下小程序中视图与逻辑中的页面事件是如何进行响应的。话不多说,让我们原文再续,书接上回吧。

1、下拉刷新的概念

  下拉刷新是移动端的专有名词,指的就是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为。在小程序中经常使用下拉刷新这个操作来刷新页面中的数据。

2、启用下拉刷新

  之前有介绍过,在小程序中所有页面都默认没有下拉刷新的。启用下拉刷新有两种方式:

启动方式 说明
全局开启下拉刷新   在 app.jsonwindow 节点中,将 enablePullDownRefresh 设置
true。但在实际开发过程中,一般是不推荐全局开启的。
局部开启下拉刷新   在页面的 .json 配置文件中,将 enablePullDownRefresh 设置为 true

  注意:在实际开发中,推荐使用第 2 种方式,为需要的页面单独开启下拉刷新的效果。

  这里以 message 为例,单独开启下拉刷新功能,具体代码如下所示:

  • message.json
{
  "usingComponents": {},
  "enablePullDownRefresh": true
}

  可以来看一下运行效果:

3、配置下拉刷新窗口的样式

  在全局或页面的 .json 配置文件中,通过 backgroundColorbackgroundTextStyle 来配置下拉刷新窗口的样式,其中两个属性的介绍如下:

属性名 类型 默认值 说明
backgroundColor HexColor #ffffff 用来配置下拉刷新窗口的背景颜色,仅支持16 进制的颜色值。
backgroundTextStyle string dark 用来配置下拉刷新 loading 的样式,仅支持 dark 和 light。

  这里还是以 message 为例,对下拉刷新样式进行修改,具体代码如下所示:

  • message.json
{
  "usingComponents": {},
  "enablePullDownRefresh": true,
  "backgroundColor": "#efefef",
  "backgroundTextStyle": "dark"
}

  可以来看一下运行效果:

4、监听页面的下拉刷新事件

  在页面的 .js 文件中,通过 onPullDownRefresh() 函数即可监听当前页面的下拉刷新事件。通过下面栗子来学习一下:

message.wxml

  在页面的 wxml 中有如下的 UI 结构,点击按钮可以让 count 值自增 +1。

<view>count当前值为:{{count}}</view>
<button bindtap="countAdd">+1</button>

message.js

Page({
  /**
   * 页面的初始数据
   */
  data: {
    count: 0,
  },
  /**
   * + 1 按钮的点击事件处理函数
   */
  countAdd (){
    this.setData({
      count: this.data.count + 1
    })
  },
})

   运行结果如下所示:

   在此基础上,触发页面的下拉刷新事件的时候,如果要把 count 的值重置为 0,具体代码如下所示:

message.js

Page({
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      count:0
    })
  },
})

   可以来看一下运行效果:

5、停止下拉刷新的效果

   前面在使用下拉刷新的时候就发现在真机上,下拉刷新并不会像模拟器那样主动关闭。当处理完下拉刷新后,下拉刷新的 loading 效果会一直显示,不会主动消失,所以需要手动隐藏下拉刷新的 loading 效果。

   此时,调用 wx.stopPullDownRefresh() 可以停止当前页面的下拉刷新。具体代码如下:

message.js

   当数据重置成功之后,调用此函数,自动关闭下拉刷新的效果。

Page({
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    this.setData({
      count:0
    })
    // 当数据重置成功之后,调用此函数,自动关闭下拉刷新的效果
    wx.stopPullDownRefresh();
  },
})

   因为真机上运行效果也是与上面的一样,所以就不做展示了。


总结

  感谢观看,这里就是页面事件 - 下拉刷新的介绍使用,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。

相关文章
|
26天前
|
缓存 小程序 UED
微信小程序如何在切换页面后原页面状态不变
微信小程序如何在切换页面后原页面状态不变
24 0
|
1月前
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
【微信小程序】-- 自定义组件 - 组件所在页面的生命周期 & 插槽(三十七)
|
9天前
|
小程序
uniapp 实现当前页面分享至微信好友或朋友圈功能(带参数和无参数)
uniapp 实现当前页面分享至微信好友或朋友圈功能(带参数和无参数)
8 0
|
26天前
|
缓存 小程序 开发者
微信小程序如何刷新当前页面
微信小程序如何刷新当前页面
16 0
|
1月前
|
存储 JSON 小程序
【微信小程序】-- 页面处理总结(三十一)
【微信小程序】-- 页面处理总结(三十一)
|
16天前
|
小程序 前端开发 API
小程序全栈开发中的多端适配与响应式布局
【4月更文挑战第12天】本文探讨了小程序全栈开发中的多端适配与响应式布局。多端适配涉及平台和设备适应,确保统一用户体验;响应式布局利用媒体查询和弹性布局维持不同设备的布局一致性。实践中,开发者可借助跨平台框架实现多平台开发,运用响应式布局技术适应不同设备。同时,注意兼容性、性能优化和用户体验,以提升小程序质量和用户体验。通过这些方法,开发者能更好地掌握小程序全栈开发。
|
16天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
16天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
16天前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
|
16天前
|
JavaScript 前端开发 小程序
微信小程序全栈开发之性能优化策略
【4月更文挑战第12天】本文探讨了微信小程序全栈开发的性能优化策略,包括前端的资源和渲染优化,如图片压缩、虚拟DOM、代码分割;后端的数据库和API优化,如索引创建、缓存使用、RESTful API设计;以及服务器的负载均衡和CDN加速。通过这些方法,开发者可提升小程序性能,优化用户体验,增强商业价值。