微信小程序实现上拉加载功能

本文实例为大家分享了微信小程序上拉加载的具体代码,供大家参考,具体内容如下 demo.wxml  文件 <view wx:for="{{listdata}}" wx:key="listdata" class='listitem'> <view class='...

本文实例为大家分享了微信小程序上拉加载的具体代码,供大家参考,具体内容如下

demo.wxml  文件

<view wx:for="{{listdata}}" wx:key="listdata" class='listitem'>
 <view class='title'>{{ item.store_name }}</view>
 <image src='{{item.logo}}'></image>
</view>

<view class="load-more-wrap">
 <block wx:if="{{hasMore}}">
  <view class="load-content">
   <text class="weui-loading"/><text class="loading-text">玩命加载中</text>
  </view>
 </block>
 <block wx:else>
  <view class="load-content">
   <text>没有更多内容了</text>
  </view>
 </block>
</view>

demo.js文件

Page({
 data: {
  listdata:[],  //数据
  paginated: '',
  //{total:"12", count: 10, more: 1} total数据总数,count:当前分页数据数据,more:1表示还有,0表示无数据
  p:0, //当前分页;默认第一页
  hasMore:true //提示
 },
 onLoad: function (options) {
  var that = this;
  var p = that.data.p;
  this.loadmore();
 },
 onReachBottom:function(){
  var that = this;
  var paginated = that.data.paginated;
  if (paginated.more != 0) {
   this.loadmore();
  }else{
   that.setData({
    "hasMore": false
   })
  }
 },
 loadmore:function(){
  wx.showToast({
   title: "玩命加载中",
   icon: 'loading',
   duration: 1000
  })
  var that = this;
  var p = ++that.data.p;
  wx.request({
   url: 'xxx',
   data: {
    "json": JSON.stringify({
     "demo": "xxx", "p": p
    })
   },
   method: 'POST',
   header: {
    'content-type': 'application/x-www-form-urlencoded'
   },
   success:function(res){
    if (res.data.data != 0) {
     that.setData({
      "listdata": that.data.listdata.concat(res.data.data), //加载数据
      "paginated": res.data.paginated, //{total:"12", count: 10, more: 1} 此处主要用于上拉加载是否加载数据
      "p":p
     })
    } else {
     that.setData({
      "hasMore":false
     })
    }
   }
  })
 }
})

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

651 篇文章

作家榜 »

  1. admin 651 文章
  2. 粪斗 185 文章
  3. 王凯 92 文章
  4. 廖雪 78 文章
  5. 牟雪峰 12 文章
  6. 李沁雪 9 文章
  7. 全易 2 文章
  8. Garmcrypto7undop 0 文章