页面代码

<view class="fp_box">
<!--等待框-->
<view class="load_style" hidden="{{!loading}}"><image src="/img/common/load.png"></image><view>加载中...</view>
</view><view class="bor-top"><view class="fp_item_box" wx:for="{{fplist_data}}" wx:key="index"><view class="fp_top"><view class="fp_head"><image src="{{item.header}}"></image></view><view class="fp_count"><view class="cishu"><text>{{item.username}}</text><text>(共带看{{item.dkcount}}次)</text></view><view class="shijian">最新带看:{{item.dktime}}</view></view><view class="fp_lian"><view bindtap="dk_tel" data-index='{{index}}' id='{{item.handset}}'  class="tel_icon"><image src="/img/common/tel_icon.png"></image></view>      <view class="liao_icon"><image src="/img/common/mes_icon.png"></image></view></view></view><view class="fp_con">{{item.memo}}</view></view></view></view>

js

    /*** 页面的初始数据*/data: {loading: true,//房源iddetailId: '',//城市idcityId: '',currentTab: 0,page_num: 1, //默认页码totalpage:0, //总页数 listLock: 1,//列表翻页锁,防止数据不够时翻页报错fplist_data: [],//数据},
    onLoad: function (options) {this.setData({detailId: options.houseId,cityId: options.cityId})  this.getData(options);},

 获取数据

    //数据getData: function () {var that = this;// that.setData({//     detailId: options.houseId,//     cityId: options.cityId// })var page_size = 15;var page_data = { page: that.data.page_num, pcount: page_size };var houseid = {  hid: that.data.detailId,有其他参数可以直接传到这里,没有就不写}var post_data = Object.assign(page_data, houseid);//拼接jsonwx.request({url: '接口连接' + that.data.cityId + '/v1/brokerinfolist',//json数据地址//url: '接口连接' + that.data.cityId + '/v1/brokerinfolist' + '?orderrule=2',//json数据地址data: post_data,method: "post",//get时用//headers: { 'Content-Type': 'application/json' },//post时用header: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' },success: function (res) {if (res.data.status == 200) {  console.log('totalCount : ', res.data.data.totalCount)     if (res.data.data.totalCount == 0) {console.log(0);that.setData({// listHidden: true,});} else if (res.data.data.totalCount < page_size) {console.log(res.data.data.totalCount, '小于', page_size)that.data.listLock = 2;that.setData({loading: false,fplist_data: res.data.data.list,});} else {that.data.listLock = 1;that.data.totalpage = Math.ceil(res.data.data.totalCount / page_size);console.log('totalpage', that.data.totalpage);if (that.data.totalpage >= that.data.page_num) {console.log('翻页之前数据', that.data.fplist_data) var listData = that.data.fplist_data.concat(res.data.data.list);console.log('翻页之后数据', that.data.fplist_data.concat(res.data.data.list))//为下一页的请求参数做准备that.setData({fplist_data: listData,loading: false,});// wx.hideLoading();that.data.page_num += 1; //页码增加,保证下次调用时为新的一页。console.log('翻页', that.data.page_num);console.log('setData', listData);}// else if (that.data.totalpage < that.data.page_num){//   console.log("没有新数据");//   that.data.listLock=2;// }}} else {that.data.listLock = 2;console.log('msg:', res.data.msg);//204无结果          that.setData({// listHidden: true,});}},fail: function (res) {console.log('error', res);},complete: function (res) {wx.hideLoading();// console.log('complete', res);}});},

 加载更多

    /*** 页面上拉触底事件的处理函数*/onReachBottom: function () {var self = this;console.log('totalpage', self.data.totalpage)console.log('page_num', self.data.page_num)if (self.data.totalpage < self.data.page_num) {console.log("没有新数据");self.setData({});self.data.listLock = 2;}if (self.data.listLock == 2) {return false;}wx.showLoading({ title: '加载中', icon: 'loading', duration: 10000 });self.getData(self.data);},

json格式

{
"status": "200",
"msg": "OK",
"isPC": 1,
"data": {
"totalCount": 16,
"list": [{"memo": "test","userid": 590559,"username": "王wang","handset": "13211111","netbrokerscore": "6890","header": "图片链接","id": "590559","shopname": "交道口店","nx": 6,"dkcount": 3,"dktime": "2019-06-28","housesid": "500139405","job_leave": "1","esid": "720859","havereport": 1,"brokertag": ""}]}
}

最终效果

小程序列表页分页获取数据,下滑加载更多相关推荐

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

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

  2. 小程序实现下拉刷新和上拉加载更多

    1.逻辑要点 下拉刷新逻辑: 下拉后发送网络请求,获取第一页数据 数据获取成功后清空本地数据 加载第一页数据 上拉加载更多: 根据当前页码和总页码进行比较,如果当前页码>=总页码,则不请求数据 ...

  3. 微信小程序实战篇-下拉刷新与加载更多

    下拉刷新 实现下拉刷新目前能想到的有两种方式 调用系统的API,系统有提供下拉刷新的API接口 下拉刷新API.png 监听scroll-view,自定义下拉刷新,还记得scroll-view里面有一 ...

  4. 微信小程序 onReachBottom 上拉滚动到底部加载更多问题

    onReachBottom 小程序官方有一个onReachBottom上滑到底部执行的函数,但是当使用时发现不起作用.查了写资料发现需要在json里面配置: 1,"enablePullDow ...

  5. 小程序列表页进入详情页

    小程序列表页进入详情页 从列表页进入详情页,通过使用本地存储来实现,当我点击的时候,拿到这个索引,并且获取整个对象,存入内存中,然后在详情页onload中get拿到这个数据,放到页面进行展示 1.1 ...

  6. PHP更新小程序,微信小程序Tab页切换更新数据详细介绍

    这篇文章主要介绍了微信小程序 Tab页切换更新数据的相关资料,需要的朋友可以参考下 微信小程序 Tab页切换更新数据 微信小程序还处于内测阶段,最不方便的莫过于官方在不停的更新,前几天写的功能隔个几天 ...

  7. html下拉刷新原理,微信小程序 下拉刷新及上拉加载原理解析

    这篇文章主要介绍了微信小程序 下拉刷新及上拉加载实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.下拉刷新的概念及应用场景. 概念: 下拉 ...

  8. 微信小程序开发——设置默认图片、错误加载图片

    wxml: <image src='{{imgArr[index]==""?defaultImg:imgList[index]}}' binderror="erro ...

  9. 【微信小程序】实现小程序下拉刷新与上拉加载

    微信小程序内置的上拉加载.下拉刷新与Android原生的有所不同,Android原生下拉刷新用SwipeRefreshLayout组件,重写onRefresh方法,而上拉加载则是使用RecycleVi ...

最新文章

  1. MySQL带LIKE关键字的查询
  2. 《磨难之间》——刻意设计,缺失核心
  3. iOS之AVPlayerViewController的使用oc
  4. C语言 memcpy和memcpy_s区别 - C语言零基础入门教程
  5. 10-C++远征之模板篇-学习笔记
  6. 深度学习笔记(7) 实践层面(二)
  7. 如何将pdf导出html,如何导出PDF版、导出EXE版、导出HTML离线版?
  8. 太阳能光伏发电行业将重入佳境
  9. html返回顶部代码(简单)
  10. BGP——基本概念3(路由聚合)
  11. 微信测试号实现微信网页的分享
  12. 武汉市查询社保电脑号及公积金账号的方法(湖北省其他市也适用)
  13. 镁光闪存颗粒对照表_海力士、南亚、镁光内存颗粒编码解析,妈妈再也不用担心你买内存条了...
  14. Win10系统自带的虚拟机怎么打开教学
  15. 手机数据线种类有哪些
  16. 函数——哥德巴赫猜想
  17. 如何查看电脑jdk/jre版本以及安装路径
  18. 预付费售电管理系统的构建及应用
  19. GAN动漫人像生成实现(附带源码)
  20. GPS模块和北斗的区别

热门文章

  1. 自动化报表系统,帮你轻松搞定日报、周报、月报!
  2. R语言github软件的两种安装方式
  3. java毕业设计小说网站mybatis+源码+调试部署+系统+数据库+lw
  4. dht网络 kad协议 bencode编码 Java版 自给自足的磁力链接爬虫
  5. 【git】Git 指令统计代码行数
  6. 接口测试--ssl证书
  7. 设计模式-抽象工厂模式实例(二)
  8. micropython 离线语音识别_百度语音识别.pdf
  9. VR与智能家居有哪些可能的结合形式?可为智能家居带来哪些好处?
  10. FANUC系统5136报警维修