微信小程序下拉触底操作

2024-02-09 11:18
文章标签 程序 操作 微信 触底

本文主要是介绍微信小程序下拉触底操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

app.js
//app.js
App({onLaunch: function () {// 展示本地存储能力var logs = wx.getStorageSync('logs') || []logs.unshift(Date.now())wx.setStorageSync('logs', logs)// 登录wx.login({success: res => {// 发送 res.code 到后台换取 openId, sessionKey, unionId}})// 获取用户信息wx.getSetting({success: res => {if (res.authSetting['scope.userInfo']) {// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框wx.getUserInfo({success: res => {// 可以将 res 发送给后台解码出 unionIdthis.globalData.userInfo = res.userInfo// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回// 所以此处加入 callback 以防止这种情况if (this.userInfoReadyCallback) {this.userInfoReadyCallback(res)}}})}}})},globalData: {userInfo: null}
})

index.js

// pages/index/index.js
Page({/*** 页面的初始数据*/data: {arr:[],page:1,isHidden:true,//没有更多数据了refresh:false//是否下拉刷新 默认没有},//wx.request请求数据的方法getData:function(){      //页面加载的提示信息wx.showLoading({title: '数据正在加载中...',})let that =this;wx.request({url:"https://route.showapi.com/1700-2",data:{"showapi_appid":"102953","showapi_sign":"74a3c3c9d2c74a818d4b3abfdd80da21","page":this.data.page,//2"keyword":"妈妈"},success:function(res){ //成功的请求到了数据wx.hideLoading()    //判断是否还有数据if (res.data.showapi_res_body.contentlist==""){that.setData({isHidden:false})return}//请求数据的来源  是下拉 还是触底   //如果是触底操作  需要拼接var data = res.data.showapi_res_body.contentlist //33var  newArr = []if(that.data.refresh){//true          //如果是下拉newArr = data}else{//触底操作console.log(that.data.arr,"装数据的容器");//50newArr = that.data.arr.concat(data)console.log(newArr, "拼接数据的容器");}that.setData({arr:newArr})       }})},/*** 生命周期函数--监听页面加载*/onLoad: function (options) { //调用获取数据的方法this.getData()},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {//需要在app.json中  开启一下//  "backgroundColor":"#ccc",//"enablePullDownRefresh": trueconsole.log(1)var page = this.data.page//page++//2this.setData({refresh:true,page:page})this.getData()},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {// console.log("触底了");//50+50var page = this.data.page//1page++//2//50老数据 arrthis.setData({refresh:false,page:page})this.getData() //arr 50},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})

index.wxml

<!-- 
https://www.showapi.com
15200088836
15200088836w
1.进入到index页 请求加载的方法 放入到onLoad
监听页面加载
2.下拉刷新的时候   页面+1  page  
3.老数据10条+新数据10条-->
<view class="item"
wx:for="{{arr}}"
wx:key="{{item.id}}"
>
<view class='content'>
<view class="left">{{index+1}}</view>
<view class="center">{{item.title}}</view>
</view>
</view>
<view class="loading"  hidden='{{isHidden}}'>已经没有更多数据了</view>

index.wxss

/* pages/index/index.wxss */.item{padding-left:.7rem;font-size:1rem;
}
.content{height: 4rem;line-height: 4rem;width: 20rem;border:1px solid #e5e5e5;display: flex;
}
.left{padding: 0 1.5rem;height: 4rem;line-height: 4rem;color:red;  
}
.loading{text-align: center;padding: 10rpx;color:red;
}

在这里插入图片描述

这篇关于微信小程序下拉触底操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/694068

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方

java向微信服务号发送消息的完整步骤实例

《java向微信服务号发送消息的完整步骤实例》:本文主要介绍java向微信服务号发送消息的相关资料,包括申请测试号获取appID/appsecret、关注公众号获取openID、配置消息模板及代码... 目录步骤1. 申请测试系统2. 公众号账号信息3. 关注测试号二维码4. 消息模板接口5. Java测试

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

springboot如何通过http动态操作xxl-job任务

《springboot如何通过http动态操作xxl-job任务》:本文主要介绍springboot如何通过http动态操作xxl-job任务的问题,具有很好的参考价值,希望对大家有所帮助,如有错... 目录springboot通过http动态操作xxl-job任务一、maven依赖二、配置文件三、xxl-

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指