样式基于weui

首先需要配置页面的json文件,启用下拉刷新

{"enablePullDownRefresh": true
}

在WXML里,通过列表渲染即可显示数据

<view class="weui-panel__bd"><view wx:for="{{list}}" wx:key="item" class="weui-media-box weui-media-box_appmsg" hover-class="weui-cell_active"><view class="weui-media-box__hd weui-media-box__hd_in-appmsg"><image class="weui-media-box__thumb" src="{{item.coverpic ? item.coverpic : '/src/img/coverpic.png'}}" /></view><view class="weui-media-box__bd weui-media-box__bd_in-appmsg"><view class="weui-media-box__title">{{item.title}}<block wx:if="{{item.groupid==2}}"><view class="weui-badge" style="margin-left: 5px;" wx:if="{{item.ishidden==1}}">隐藏</view><view class="weui-badge" style="margin-left: 5px;" wx:if="{{item.status==0}}">待审核</view><view class="weui-badge" style="margin-left: 5px;" wx:if="{{item.status==2}}">请修改</view></block></view><view class="weui-flex"><block wx:if="{{item.groupid==2}}"><navigator class="placeholder">详情</navigator><navigator class="placeholder" url="/pages/my/activity/add/add?activity_id={{item.activity_id}}">编辑</navigator><navigator class="placeholder" url="/pages/my/activity/form/form?activity_id={{item.activity_id}}">报名信息</navigator><navigator class="placeholder">项目</navigator><navigator class="placeholder">赛程</navigator></block><navigator class="placeholder">签到</navigator></view></view></view><view class="weui-loadmore weui-loadmore_line" hidden='{{hasmoreData}}'><view class="weui-loadmore__tips weui-loadmore__tips_in-line">暂无更多数据</view></view><view class="weui-loadmore" hidden='{{hiddenloading}}'><view class="weui-loading"></view><view class="weui-loadmore__tips">正在加载</view></view></view>

JS部分我是将post再封装了一次,这边主要用到onPullDownRefresh和onReachBottom两个方法

var app = getApp()
Page({data: {num:10,count:-1,page: 0,list: [],hasmoreData: true,hiddenloading: true,},onLoad: function (options) {this.getList()},onPullDownRefresh: function () {this.setData({num:10,count:-1,page:0,list:[],hasmoreData:true,hiddenloading:true})this.getList();console.log('刷新数据')wx.stopPullDownRefresh()},onReachBottom: function () {console.log('加载更多')this.setData({ hiddenloading:false})this.getList()},getList: function () {var that = thisif (that.data.count!=-1&&that.data.page * that.data.num >= that.data.count) {that.setData({ hasmoreData: false, hiddenloading:true })return}app.post('链接',{page:that.data.page},function(res){//这边是我自己的封装的post方法,具体大家再看if (res.count == 0) that.setData({ count: res.data.count,hasmoreData: false })for(var i=0;i<res.data.list.length;i++){that.data.list.push(res.data.list[i])}that.setData({ count: res.data.count, num: res.data.num,page:that.data.page+1,list:that.data.list,hiddenloading:true})if (!res.data.hasmoreData) that.setData({ hiddenloading: true })})},
})

完整说明:

  1. 将请求接口封装为一个方法
  2. 通过监听onPullDownRefresh,先对data中的数据进行初始化,然后请求接口
  3. 通过监听onReachBottom,实现加载分页数据

微信小程序onPullDownRefresh onReachBottom实现下拉刷新上拉分页加载相关推荐

  1. 微信小程序如何实现上拉刷新(即分页加载数据)?

      步骤1. enablePullDownRefresh这个属性设置为true.enablePullDownRefresh可以写在app.json 中和页面的xx.json,两者的区别是, app.j ...

  2. 微信小程序点击按钮弹出弹窗_微信小程序点击按钮 弹出底部上拉菜单

    小程序底部弹出菜单操作.gif html //index.wxml 弹出action sheet {{item.txt}} 取消 提示:您选择了菜单{{menu}} js //index.js Pag ...

  3. 每日三思:微信小程序多层级父子组件如何在子组件滚动加载

    碰到的问题是如果将孙子组件单独拿出来是能滚动加载数据的,但是如果父组件存在切换的tab,子组件也存在tab切换,子组件就无法滚动加载数据 示意图 代码结构 刚开始的处理思路 在子组件中使用滚动加载,但 ...

  4. 微信小程序直播间实现下拉刷新(目前全网最优最美观的方法)

    微信小程序直播间实现下拉刷新 先上效果: 1.下拉距离一定时出现动画,保持下拉直到距离足够大时触发函数加载直播间列表,而且在足够大距离时会有振动反馈,增强用户体验 2.下拉小距离出现动画,此时释放不会 ...

  5. 微信小程序 顶部 选项卡 tabs 下拉刷新

    微信小程序 顶部 选项卡 tabs 下拉刷新 **首先 wxml 页面 带swiper 滑动切换功能 ** <!--pages/my/my.wxml--> <view class=& ...

  6. 微信小程序下拉刷新/上拉加载组件

    简介 一款基于官方组件scroll-view进行封装的支持上拉加载下拉刷新的微信小程序组件,需要基础库2.10.1及以上, 项目地址:github 预览 功能 下拉刷新 上拉加载 支持自定义下拉样式 ...

  7. 小程序下拉刷新 上拉加载等多

    小程序下拉刷新 上拉加载 下拉刷新 在当前页面的json文件中开启上拉刷新 async getGoodsList(){ //定义参数信息var n=this.data.infoconst res=aw ...

  8. 微信小程序开发工具win10下编译非常慢解决方法

    微信小程序开发工具win10下编译非常慢的解决方法 点击微信小程序开发工具右侧详情,在本地设置中将[启用多核心编译]选项去掉,开发工具重启即可

  9. 微信小程序实现线上线下全渠道精准运营

    从支付宝推出余额宝.花呗等功能大幅培养用户理财习惯,到微信支付通过微信红包打通"朋友圈",微信支付和支付宝的擂台之战从未平息,面对10亿交易笔数到20亿的跨越,较量已经从扫码支付延 ...

最新文章

  1. 2.2栈的另一个应用:括号匹配
  2. 在windows下架设openssh实现资源共享
  3. 使用xfire webservice接口开发,obj与xml相互转换好用工具类,不需要写大量的转换代码,亲测可用
  4. 大V怒怼银行服务太差,一怒取走500万现金!上海银行回应了
  5. java 强制转换 效率_Java 性能优化:35 个小细节,让你提升 Java 代码的运行效率...
  6. azure blob_如何在Azure Blob存储中恢复意外删除
  7. 谷歌如何获取了我们的个人数据?
  8. cognos 样例 oracle,cognos10.2 sample(ORACLE学样例)
  9. svn在linux下的使用(svn命令行)删除 新增 添加 提交 状态查询 恢...
  10. zip保存数据和接口获取压缩包 jsZip
  11. iOS开发各种证书详解
  12. 【日语】动词的九种变形
  13. Mac系统升级后导致AS不能使用SVN
  14. 怎样快速查询单号物流信息,筛选出未签收的单号
  15. Springboot毕设项目基于Java对运动心跳数据分析系统设计与实现455j4(java+VUE+Mybatis+Maven+Mysql)
  16. Webm如何转换mp4? 傻瓜式的操作方法来了
  17. Python 获取动漫番剧 -XXOO
  18. linux子进程崩溃父进程如何得知并重启子进程,子进程崩溃父进程如何得知并重启子进程...
  19. c语言函数变量地址符,C语言中取地址符做函数形参?—— 引用的讨论
  20. hal库串口dma卡死_STM32 HAL库 串口DMA发送完成中断

热门文章

  1. 如何将centos 语系设置成为中文
  2. UA记录wegame
  3. 企业上云是什么?有什么优点
  4. 状语从句不是简单句_简单句、复合句Gloria总结
  5. 数据结构课程设计--图书管理系统
  6. TYPE-C接口安卓手机直播快充领夹式无线麦克风方案
  7. MySQL表连接算法
  8. Oracle-PL/SQL-Developer-数据从服务器迁移至本地
  9. mapbox-gl提升建筑渐变效果(视频)
  10. vulnhub THE PLANETS: EARTH