微信小程序开发实战(下拉刷新事件应用)

简介: 微信小程序开发实战(下拉刷新事件应用)

页面事件


下拉刷新事件


1、什么是下拉刷新


下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为。

2、启用下拉刷新


启用下拉刷新有两种方式:

image.png

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


image.png

  1. backgroundColor 用来配置下拉刷新窗口的背景颜色,仅支持16 进制的颜色值
  2. backgroundTextStyle 用来配置下拉刷新 loading 的样式,仅支持 dark 和 light

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


image.png

5、停止下拉刷新的效果


image.png

上拉触底事件


1、什么是上拉触底


image.png

2、监听页面的上拉触底事件


image.png

3、 配置上拉触底距离


image.png

如 👇

onReachBottomDistance :150

上拉触底小练习


1、案例效果展示


5.gif

2、案例的实现步骤


〇 模拟数据data结构

data: {
colorList:[],
colorArr:[
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
    `${parseInt(Math.random()*100)},${parseInt(Math.random()*100)},${parseInt(Math.random()*100)}`,
  ]

① 定义获取随机颜色的方法

//获取颜色数据getColorValue(){
this.setData({
colorList:[...this.data.colorList,...this.data.colorArr],
  })
//打印数据console.log(this.data.colorList);
},

② 在页面加载时获取初始数据

/***生命周期函数--监听页面加载*/onLoad(options) {
this.getColorValue();
},

WXML及WXSS & 渲染 UI 结构并美化页面效果

WXML

<viewwx:for="{{colorList}}"wx:key="index"class="colorArr"style="background-color: rgba({{item}});">{{item}}</view>

WXSS

.colorArr{
border: 1rpxsolidred;
border-radius: 8rpx;
line-height: 200rpx;
margin: 15rpx;
text-align: center;
text-shadow: 0rpx,0rpx,5rpx,red;
box-shadow: 3rpx,3rpx,8rpx,red;
}

④ 在上拉触底时调用获取随机颜色的方法

/***页面上拉触底事件的处理函数*/onReachBottom() {
//模拟效果setTimeout(()=>{
//重新加载数据this.getColorValue();
  },1000)
},

⑤ 添加 loading 提示效果

/***页面上拉触底事件的处理函数*/onReachBottom() {
//显示加载效果wx.showLoading({
title: '加载中...',
  })
//模拟效果setTimeout(()=>{
//隐藏加载效果wx.hideLoading({})
//重新加载数据this.getColorValue();
  },1000)
},

⑥ 对上拉触底进行简单处理节流处理(这里没有使用节流阀直接使用了定时器处理了)

image.png

  1. false 表示当前没有进行任何数据请求
  2. true 表示当前正在进行数据请求

image.png

  1. 在刚调用 getColors 时将节流阀设置 true
  2. 在网络请求的 complete 回调函数中,将节流阀重置为 false

image.png

  1. 如果节流阀的值为 true,则阻止当前请求
  2. 如果节流阀的值为 false,则发起数据请求

添加编译模式


说明:添加了自定义编译模式可以一开始编译时就会自动跳到编译的页面

添加如 👇

image.png

最后


image.png

下篇文章再见ヾ( ̄▽ ̄)ByeBye

image.png

相关文章
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
685 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
742 1
|
1月前
|
存储 缓存 开发框架
提高微信小程序的应用速度
【10月更文挑战第21天】提高微信小程序的应用速度需要从多个方面入手,综合运用各种优化手段。通过不断地优化和改进,能够显著提升小程序的性能,为用户带来更流畅、更高效的使用体验。
59 3
|
1月前
|
人工智能 小程序 算法
微信小程序地图定位的核心技术与实际应用详解
在移动互联网时代,微信小程序凭借其轻量化和普及性,成为室内地图导航的理想平台。本文探讨了微信小程序在室内定位领域的创新应用,包括蓝牙iBeacon定位、高精度地图构建及AI路径规划等核心技术,及其在购物中心、医院、机场火车站和景区等场景的应用,展示了其为用户带来的高效、智能的导航体验。
116 0
|
2月前
|
JavaScript 小程序 开发者
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
uni-app开发实战:利用Vue混入(mixin)实现微信小程序全局分享功能,一键发送给朋友、分享到朋友圈、复制链接
457 0
|
2月前
|
小程序
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
uni-app开发微信小程序使用onPullDownRefresh(下拉刷新)总结
654 0
|
1月前
|
小程序 前端开发 JavaScript
在线课堂+工具组件小程序uniapp移动端源码
在线课堂+工具组件小程序uniapp移动端源码
34 0
在线课堂+工具组件小程序uniapp移动端源码
|
2月前
|
移动开发 小程序 数据可视化
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
基于npm CLI脚手架的uniapp项目创建、运行与打包全攻略(微信小程序、H5、APP全覆盖)
340 3
|
2月前
|
小程序 API
微信小程序更新提醒uniapp
在小程序开发中,版本更新至关重要。本方案利用 `uni-app` 的 `uni.getUpdateManager()` API 在启动时检测版本更新,提示用户并提供立即更新选项,自动下载更新内容,并在更新完成后重启小程序以应用新版本。适用于微信小程序,确保用户始终使用最新版本。以下是实现步骤: ### 实现步骤 1. **创建更新方法**:在 `App.vue` 中创建 `updateApp` 方法用于检查小程序是否有新版本。 2. **测试**:添加编译模式并选择成功状态进行模拟测试。
57 0
微信小程序更新提醒uniapp
|
4月前
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
116 0
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
下一篇
DataWorks