微信小程序 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 相关文章推荐
IE innerHTML,outerHTML所引起的问题
Jun 04 Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
Jul 26 Javascript
一行代码告别document.getElementById
Jun 01 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
jQuery height()、innerHeight()、outerHeight()函数的区别详解
May 23 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
Jul 22 Javascript
webpack4 + react 搭建多页面应用示例
Aug 03 Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 Javascript
vue+iview 实现可编辑表格的示例代码
Oct 31 Javascript
详解vue 命名视图
Aug 14 Javascript
jquery实现直播视频弹幕效果
Feb 25 jQuery
vue学习笔记之给组件绑定原生事件操作示例
Feb 27 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简单静态页生成过程
2008/03/27 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
PHP处理Json字符串解码返回NULL的解决方法
2014/09/01 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
php cookie 详解使用实例
2016/11/03 PHP
JavaScript几种形式的树结构菜单
2010/05/10 Javascript
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
Javascript 页面模板化很多人没有使用过的方法
2012/06/05 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
jQuery日历插件datepicker用法详解
2016/03/03 Javascript
Javascript缓存API
2016/06/14 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
使用gulp搭建本地服务器并实现模拟ajax
2017/04/05 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
使用Python编写简单的画图板程序的示例教程
2015/12/08 Python
12步入门Python中的decorator装饰器使用方法
2016/06/20 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
2020/06/23 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
django之自定义软删除Model的方法
2019/08/14 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
Aveda美国官网:天然护发产品、洗发水、护发素和沙龙
2016/12/09 全球购物
公积金转移接收函
2014/01/11 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
朋友离别感言
2015/08/04 职场文书
一年级语文教学随笔
2015/08/14 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
Windows server 2012 R2 安装IIS服务器
2022/04/29 Servers
MySQL自定义函数及触发器
2022/08/05 MySQL