微信小程序下拉触底操作

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

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

Python中操作Redis的常用方法小结

《Python中操作Redis的常用方法小结》这篇文章主要为大家详细介绍了Python中操作Redis的常用方法,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解一下... 目录安装Redis开启、关闭Redisredis数据结构redis-cli操作安装redis-py数据库连接和释放增