微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】

 更新时间:2020年05月29日 09:34:13   作者:TANKING  
这篇文章主要介绍了微信小程序实现上拉加载功能,结合实例形式分析了微信小程序加载更多数据、触底加载或点击加载更多数据的相关实现技巧与操作注意事项,需要的朋友可以参考下

本文实例讲述了微信小程序实现上拉加载功能。分享给大家供大家参考,具体如下:

开发需求

进入页面,加载初始数据,当向上拖动页面至底部,自动加载新的数据,即上拉加载更多数据。

演示

index.wxml

<!-- 数据列表 -->
<view wx:for="{{listdata}}" wx:key="listdata" class='listitem'>
 <view class='title'>{{item.title}}</view>
 <view class='title'>资源ID:{{item.id}}</view>
 <image src="{{item.coverimg}}" class='cover'></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>

index.js

Page({
 data: {
 listdata:[], //数据
 moredata: '',
 p:0, //当前分页;默认第一页
 hasMore:true //提示
 },

 //加载初始数据
 onLoad: function (options) {
 var that = this;

 //初始页面
 var p = that.data.p;
 this.loadmore();
 },

 //触底事件
 onReachBottom:function(){
 var that = this;
 //检查是否还有数据可以加载
 var moredata = that.data.moredata;
 //如果还有,则继续加载
 if (moredata.more != 0) {
  this.loadmore();
  //如果没有了,则停止加载,显示没有更多内容了
 }else{
  that.setData({
  "hasMore": false
  })
 }
 },

 //发起请求
 loadmore:function(){

 //加载提示
 wx.showLoading({
  title: '加载中',
 })

 var that = this;
 //页面累加
 var p = ++that.data.p;

 //请求服务器
 wx.request({
  url: '你的服务器/server.php?page=' + p,
  data: {
  "json": JSON.stringify({
   "p": p
  })
  },

  method: 'POST',
  header: {
  'content-type': 'application/x-www-form-urlencoded'
  },

  //请求成功,回调函数
  success:function(res){
  
  //隐藏加载提示
  wx.hideLoading();

  //判断市局是否为空
  if (res.data != 0) {
   that.setData({
   //把新加载的数据追加到原有的数组
   "listdata": that.data.listdata.concat(res.data), //加载数据
   "moredata": res.data,
   "p":p
   })
  } else {
   that.setData({
   "hasMore":false
   })
  }
  }
 })
 }
})

说明

1、url修改为你的服务端链接,格式是

http:域名/目录/?page=页码

例如:

http://www.baidu.com/api/data.php?page=1

页码是可变的,所以声明一个变量p,所以就是

`url: 'http://www.baidu.com/api/data.php?page' + p,`

index.wxss

.listitem{
 width: 90%;
 height: 155px;
 background: rgba(0, 0, 0, 0.2);
 margin:10px auto;
 text-align: center;
 position: relative;
 color:#fff;
}

.listitem .cover{
 width:100%;
 height:155px;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -100;
}

.load-more-wrap .load-content{
 text-align: center;
 margin:30px auto 30px;
 color:#ccc;
 font-size: 15px;
}

服务端返回的数据格式

返回json数组的形式,例如

[
 {"id":"1","title":"标题1","coverimg":"url1"},
 {"id":"2","title":"标题2","coverimg":"url2"},
 {"id":"3","title":"标题3","coverimg":"url3"},
 {"id":"4","title":"标题4","coverimg":"url4"},
 {"id":"5","title":"标题5","coverimg":"url5"}
]

希望本文所述对大家微信小程序设计有所帮助。

相关文章

  • JS 获取滚动条高度示例代码

    JS 获取滚动条高度示例代码

    滚动条高度如何获取,方法有很多,在本文将为大家详细介绍下如何使用js做到,下面有个不错的示例,感兴趣的朋友不要错过
    2013-10-10
  • 浅谈es6中的元编程

    浅谈es6中的元编程

    这篇文章主要介绍了浅谈es6中的元编程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 微信小程序实现打开内置地图功能【附源码下载】

    微信小程序实现打开内置地图功能【附源码下载】

    这篇文章主要介绍了微信小程序实现打开内置地图功能,涉及微信小程序使用wx.openLocation函数获取经纬度信息的相关使用技巧,并附带源码供读者下载参考,需要的朋友可以参考下
    2017-12-12
  • 详解如何在在浏览器中使用WebRTC获取用户IP地址

    详解如何在在浏览器中使用WebRTC获取用户IP地址

    如果需要在程序中获取当前用户的IP,通常手段都是需要使用服务器,但现在借助WebRTC的强大功能,我们可以直接在浏览器客户端获取用户IP,所以本文小编将给大家介绍一下如何在在浏览器中使用WebRTC获取用户IP地址,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2023-11-11
  • 使用JS实现在空白页上展示出一个有趣的时钟

    使用JS实现在空白页上展示出一个有趣的时钟

    在我们日常的网页浏览中,空白的页面往往会被视为一种无趣的事物,一片等待填充的空间,今天我们来学习一下如何使用JS在空白的网页上展示出一个有趣的时钟吧,感兴趣的小伙伴跟着小编一起来看看吧
    2024-04-04
  • JavaScript中常用的验证reg

    JavaScript中常用的验证reg

    js验证实用性非常高,用途非常广泛,用于校验ip地址的格式等操作,本文给大家介绍JavaScript中常用的验证reg,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧
    2016-10-10
  • JS如何将数字金额转换成中文金额格式

    JS如何将数字金额转换成中文金额格式

    这篇文章主要介绍了JS如何将数字金额转换成中文金额格式,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • 删除javascript中注释语句的正则表达式

    删除javascript中注释语句的正则表达式

    这篇文章主要介绍了删除javascript中注释语句的正则表达式,需要的朋友可以参考下
    2014-06-06
  • 页面内查找

    页面内查找

    页面内查找...
    2006-09-09
  • 微信小程序实现验证码获取倒计时效果

    微信小程序实现验证码获取倒计时效果

    这篇文章主要为大家详细介绍了微信小程序实现验证码获取倒计时效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02

最新评论