老规矩先上效果图
这里的话 xwml页面展示就不贴代码了,意义不大。直接上js

js页面

注意事项

主要使用的是 onPullDownRefresh 函数与 onReachBottom函数,一个是下拉一个刷新,
requestSimple是我封装的提交函数,下面贴代码了

分页重要

1.onPullDownRefresh 是用户下拉手势,相当于刷新页面,onReachBottom用户上拉手势,相当于请求分页
2.用户上拉一次,执行一次onReachBottom函数。页面用同一个 list集合,分页请求之后,把数据追加到list集合的后面,使用concat函数(代码中有),思路很简单。
3.有任何问题,下方留言哈。目前来说没有遇到任何问题
Page({/*** 页面的初始数据*/data: {pageIndex: 1, //分页当前的页数pageSize: 5,//每页的数量scheme: false,//方案showLoading: true,showDownLoading: true,urlBase: url.urlBase,//图片路径guideList:[],//导游集合},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {//下拉函数相当于刷新第一页的数据,所以页数写死wx.showNavigationBarLoading() //在标题栏中显示加载var that = this;let pageNo = 1;requestSimple(url.url.getGuideList,{sort: that.data.sort,scheme: pageParams.pageParams.scheme,city: app.globalData.defaultCity,pageIndex: pageNo,pageSize: 5,minage: that.data.minAge,maxage: that.data.maxAge,sex: that.data.sex,language: that.data.language,viewspot_id: "",certificatetype_id: that.data.certificateId,tourist_long: pageParams.pageParams.userLongitude,tourist_lat: pageParams.pageParams.userLatitude},function (res) {if (res.code == 300) {wx.showToast({title: '没有更多数据',})} else {if (pageParams.pageParams.scheme == "1") {that.setData({//方案一采用"scheme": true,})}that.setData({//导游列表"guideList": res,})that.data.pageIndex = 1;}});setTimeout(function () {wx.hideNavigationBarLoading() //完成停止加载wx.stopPullDownRefresh() //停止下拉刷新}, 600);},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {var that = this;let pageNo = this.data.pageIndex + 1;//注意这里先将页数+1 如果请求到了数据,再写入全局变量,否则不写。一个思路requestSimple(url.url.getGuideList,{sort: that.data.sort,scheme: pageParams.pageParams.scheme,city: app.globalData.defaultCity,pageIndex: pageNo,pageSize: 5,minage: that.data.minAge,maxage: that.data.maxAge,sex: that.data.sex,language: that.data.language,viewspot_id: "",certificatetype_id: that.data.certificateId,tourist_long: pageParams.pageParams.userLongitude,tourist_lat: pageParams.pageParams.userLatitude},function (res) {if (res.code == 300) {wx.showToast({title: '没有更多数据',})} else {if (pageParams.pageParams.scheme == "1") {that.setData({guideList: that.data.guideList.concat(res) //注意因为第二次请求的时候数据直接追加到第一页list的后面,所以使用 concat方法,这个很重要})that.data.pageIndex = that.data.pageIndex + 1; //将页面+1}});},})

工具类 requestSimple


/*通用request没有loading-->requestSimple*/
function requestSimple(url, data, success, method, error) {console.log(url,data);var m = method ? method : 'POST';var that = this;return wx.request({url: url,header: {'content-type': 'application/x-www-form-urlencoded;charset=utf-8',},data: data,method: m,success: function (res) {if (res.data.code == "200") {success(res.data.data);return;}else{var ndata = {code:300,msg:"未请求到数据"}success(ndata);}},error: function (res) {error(res);}})
}

微信小程序 列表的分页实现(最新的最简易的实现方式+思路,附代码)相关推荐

  1. 微信小程序列表页分页加载功能

    微信小程序做分页加载数据,会做一些下拉加载更多.然后上拉刷新的操作.数据放在一个for循环里去加载,数据源是一个数组对象.在加载下一页数据时,将下一页的数据拼到当前数组后面. 代码如下: wxml代码 ...

  2. 微信小程序列表加载动画示例

    微信小程序列表加载动画 微信小程序列表加载动画示例 实现思路 什么是动画? 导航栏设置 列表动画加载 完整代码demo 微信小程序列表加载动画示例 初学微信小程序开发,记录一下.网上找了很久这种效果, ...

  3. 微信小程序详解 php,微信小程序列表开发详解

    本文主要和大家分享微信小程序列表开发详解,主要以代码的形式和大家分享,希望能帮助到大家. 一.知识点 (一).列表渲染 wx:for tip:wx:for="array"可以等于参 ...

  4. 微信小程序列表实现文字内容超出隐藏并显示全文/收起按钮

    微信小程序列表实现文字内容超出隐藏并显示全文/收起按钮 针对这个功能,产品的需求如下 由于我们项目是教育类产品所以这里这个功能会用在发动态这里,就像微信朋友圈那样,我们叫班级圈. 用户发班级圈时,可以 ...

  5. 微信小程序涉嫌通过中断用户体验、限制用户操作的方式,收集与服务无关的用户个人信息,包括但不限于,手机号、

    微信小程序涉嫌通过中断用户体验.限制用户操作的方式,收集与服务无关的用户个人信息,包括但不限于,手机号.身份证号.生日.住址等,违反<微信小程序平台运营规则>及相关规则,建议尽快整改.具体 ...

  6. 微信小程序|列表渲染-for循环

    欢迎点击「算法与编程之美」↑关注我们! 本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章. 问题描述 大家学习程序设计都知道for循环,而且很多编程都需要 ...

  7. 微信小程序列表数据渲染无效问题

    我实在是太菜了隔了2,3个月没做,微信小程序的数据渲染竟然都不会用了 记住要让修改的数据立即生效只能用setData方法!! 下面转了一篇文章里面的内容,方便大家比较 转自:http://www.jb ...

  8. 微信小程序列表开发-个人中心界面-wxss(二)

    微信小程序的wxss类似于css,是对页面样式的优化. 上篇讲了写个人中心的大概模板,这次把wxss里面详细讲一下. .b1{width:750rpx;height:300rpx;margin-bot ...

  9. ssm基于微信小程序的社区老人健康管理服务系统的设计与实现 毕业设计-附源码011513

    摘要 随着现在网络的快速发展,网络的应用在各行各业当中它很快融入到了许多分类管理之中,他们利用网络来做这个社区老人健康管理服务系统,随之就产生了"社区老人健康管理服务系统 .",这 ...

最新文章

  1. barmanager 不显示_广州13.3寸广告液晶显示屏品牌排行榜
  2. android adb端口被占用问题解决办法
  3. Pandas简明教程:七、Pandas缺失数据的处理(数据清洗基础)
  4. 什么是 NoSQL 数据库、NoSQL 与 SQL 的区别
  5. numpy数组中冒号[:,:,0]与[...,0]的区别
  6. python __reduce__魔法方法_非常全的通俗易懂 Python 魔法方法指南(下)
  7. 适合初学者的struts简单案例
  8. 速修复!这个严重的 Apache Struts RCE 漏洞补丁不完整
  9. Membership三步曲之入门篇 - Membership基础示例
  10. 前端学习笔记day14 移动盒子 封装函数
  11. 2022年金融与互联网资质牌照研究报告
  12. Arduino教程六—DS1302时钟模块
  13. 做H5页面用什么软件比较好?
  14. 苹果CMSV10黑色自适应简约炫酷影视网站模板
  15. flex布局兼容性问题
  16. 用python制作动态二维码
  17. db2 创建实例,创建数据库,创建表
  18. Eureka注册中心的搭建与使用
  19. 和平精英服务器维护到几点,和平精英停服到几点钟?4月4日停服时间公告[多图]...
  20. IOS 自定义软键盘功能,修改换行键为发送键

热门文章

  1. python打开360浏览器_python selenium使用360浏览器出现新皮肤设置怎么办?
  2. hikaricp 连接池分析_数据库连接池终于搞对了,这次直接从100ms优化到3ms!
  3. Java黑皮书课后题第7章:**7.17(对学生排序)编写一个程序,提示用户输入学生个数、学生姓名和他们的成绩,然后按照学生成绩的降序打印学生的姓名。假定姓名是不包含空格的字符,使用next()读取
  4. ASP.NET MVC 后台传值前端乱码解决方案 富文本Ueditor编辑
  5. spring boot apollo demo
  6. HDU - 2844 Coins(多重背包+完全背包)
  7. Sharepoint client model 中出现Cannot invoke HTTP DAV request. There is a pending query 的解决办法...
  8. hdu 1075 map
  9. 【转帖】漫话C++0x(四) —- function, bind和lambda
  10. java中的hashcode方法作用以及内存泄漏问题