微信小程序 scroll-view实现上拉加载与下拉刷新的实例


Posted in Javascript onJanuary 21, 2017

微信小程序 scroll-view实现上拉加载与下拉刷新的实例

实现效果图:

微信小程序 scroll-view实现上拉加载与下拉刷新的实例

如图,使用小程序的scroll-view实现的上拉加载数据,下拉刷新数据,试下代码如下:

js文件代码:

var url = "http://192.168.30.4:8080/gtxcx/carrier/getCarrier.action"; 
var page = 1; 
 
var GetList = function (that) { 
 that.setData({ 
 hidden: false 
 }); 
 wx.request({ 
 url: url, 
 data: { 
  pageSize: 10, 
  pageNo: page 
 }, 
 success: function (res) { 
  var l = that.data.list 
  for (var i = 0; i < res.data.length; i++) { 
  l.push(res.data[i]) 
  } 
  that.setData({ 
  list: l 
  }); 
  page++; 
  that.setData({ 
  hidden: true 
  }); 
 } 
 }); 
} 
Page({ 
 data: { 
 hidden: true, 
 list: [], 
 scrollTop: 0, 
 scrollHeight: 0 
 }, 
 onLoad: function () { 
 var that = this; 
 wx.getSystemInfo({ 
  success: function (res) { 
  console.info(res.windowHeight); 
  that.setData({ 
   scrollHeight: res.windowHeight 
  }); 
  } 
 }); 
 }, 
 onShow: function () { 
 var that = this; 
 GetList(that); 
 }, 
 bindDownLoad: function () { 
 var that = this; 
 GetList(that); 
 }, 
 scroll: function (event) { 
 this.setData({ 
  scrollTop: event.detail.scrollTop 
 }); 
 }, 
 refresh: function (event) { 
 page = 1; 
 this.setData({ 
  list: [], 
  scrollTop: 0 
 }); 
 GetList(this) 
 }, 
 onPullDownRefresh: function () { 
 console.log("下拉") 
 }, 
 onReachBottom: function () { 
 console.log("上拉"); 
 } 
})

json文件代码

{ 
 "navigationBarTitleText": "下拉刷新", 
 "enablePullDownRefresh": true, 
 "backgroundTextStyle": "dark" 
}

wxml文件代码:

<view class="container"> 
 <scroll-view scroll-top="{{scrollTop}}" scroll-y="true" style="height:{{scrollHeight}}px;" 
 class="list" bindscrolltolower="bindDownLoad" bindscroll="scroll" bindscrolltoupper="refresh"> 
 <view class="item" wx:for="{{list}}"> 
  <image class="img" src="https://cdn.kuaidi100.com/images/all/56/zhongtong.png"></image> 
  <view class="text"> 
  <text class="title">{{item.carrierName}}</text> 
  <text class="description">{{item.carrierTelphone}}</text> 
  <text class="description">{{item.carrierId}}</text> 
  </view> 
 </view> 
 </scroll-view> 
 <view class="body-view"> 
 <loading hidden="{{hidden}}" bindchange="loadingChange"> 
  加载中... 
 </loading> 
 </view> 
</view>

wxss文件代码

.container{ 
 height: 100%; 
 padding: 20rpx; 
} 
 
.item{ 
 display: flex; 
 margin-bottom: 50rpx; 
width:100%; 
background:#f0f0f0; 
overflow:hidden; 
} 
 
.img{ 
 height: 100rpx; 
 width: 100rpx; 
 border-radius: 50%; 
} 
 
.text{ 
 display: flex; 
 flex-shrink:1; 
 flex-grow:1; 
 padding: 10rpx; 
 flex-wrap: wrap; 
 font-size: 50rpx; 
} 
 
.title{ 
 font-size: 50rpx; 
 margin:10rpx 100rpx 10rpx 100rpx; 
} 
.description{ 
 font-size: 50rpx; 
 align-self:flex-end; 
}

注意,

http://192.168.30.4:8080/gtxcx/carrier/getCarrier.action这个接口就是更具传入的页数,每次返回不同数据。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
Apr 14 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
Nov 25 Javascript
js光标定位文本框回车表单提交问题的解决方法
May 11 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
Aug 22 Javascript
jQuery实现带水平滑杆的焦点图动画插件
Mar 08 Javascript
全面了解addEventListener和on的区别
Jul 14 Javascript
Bootstrap中datetimepicker使用小结
Dec 28 Javascript
webpack开发跨域问题解决办法
Aug 03 Javascript
Angularjs添加排序查询功能的实例代码
Oct 24 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
Jul 06 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
JS常用知识点整理
Jan 21 #Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 #Javascript
原生js实现可拖动的登录框效果
Jan 21 #Javascript
微信小程序 WebSocket详解及应用
Jan 21 #Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
Jan 21 #Javascript
遍历json获得数据的几种方法小结
Jan 21 #Javascript
新闻上下滚动jquery 超简洁(必看篇)
Jan 21 #Javascript
You might like
从php核心代码分析require和include的区别
2011/01/02 PHP
PHP高级对象构建 多个构造函数的使用
2012/02/05 PHP
php接口和抽象类使用示例详解
2014/03/02 PHP
PHP连接SQLServer2005的方法
2015/01/27 PHP
javascript中callee与caller的用法和应用场景
2010/12/08 Javascript
为原生js Array增加each方法
2012/04/07 Javascript
JavaScript实现自己的DOM选择器原理及代码
2013/03/04 Javascript
浅谈jQuery的offset()方法及示例分享
2015/07/17 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
小程序getLocation需要在app.json中声明permission字段
2019/04/04 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
layer 关闭指定弹出层的例子
2019/09/25 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
在Vue里如何把网页的数据导出到Excel的方法
2020/09/30 Javascript
Python小进度条显示代码
2019/03/05 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
Matplotlib中%matplotlib inline如何使用
2020/07/28 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
财务部出纳岗位职责
2013/12/22 职场文书
授权委托书公证
2014/09/14 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
Win10此设备不支持接收Miracast无法投影的解决方法
2022/07/07 数码科技
Python使用pandas导入xlsx格式的excel文件内容操作代码
2022/12/24 Python