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

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

页面事件


下拉刷新事件


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

相关文章
|
6月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
6月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
10月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
1178 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
人工智能 自然语言处理 小程序
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
3461 11
技术小白如何利用DeepSeek半小时开发微信小程序?
|
11月前
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。
|
11月前
|
小程序 关系型数据库 Java
weixin168“返家乡”高校暑期社会实践微信小程序设计与开发ssm(文档+源码)_kaic
本文探讨高校暑期社会实践微信小程序的开发与应用,旨在通过信息化手段提升活动管理效率。借助微信小程序技术、SSM框架及MySQL数据库,实现信息共享、流程规范和操作便捷。系统涵盖需求分析、可行性研究、设计实现等环节,确保技术可行、操作简便且经济合理。最终,该小程序可优化活动发布、学生信息管理和心得交流等功能,降低管理成本并提高工作效率。
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
13002 14
|
JSON 缓存 小程序
微信小程序组件封装与复用:提升开发效率
本文深入探讨了微信小程序的组件封装与复用,涵盖组件的意义、创建步骤、属性与事件处理,并通过自定义弹窗组件的案例详细说明。组件封装能提高代码复用性、开发效率和可维护性,确保UI一致性。掌握这些技能有助于构建更高质量的小程序。
微信小程序数据绑定与事件处理:打造动态交互体验
在上一篇中,我们学习了搭建微信小程序开发环境并创建“Hello World”页面。本文深入探讨数据绑定和事件处理机制,通过具体案例帮助你打造更具交互性的小程序。数据绑定使用双花括号`{{}}`语法,实现页面与逻辑层数据的动态关联;事件处理则通过`bind`或`catch`前缀响应用户操作。最后,通过一个简单的计数器案例,巩固所学知识。掌握这些核心技能,将助你开发更复杂的小程序。
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
3730 7

热门文章

最新文章