微信小程序 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 相关文章推荐
javascript修改图片src的方法
Jan 27 Javascript
jQuery UI设置固定日期选择特效代码分享
Aug 27 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
Mar 17 Javascript
Node.js DES加密的简单实现
Jul 07 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
Mar 15 Javascript
jquery tmpl模板(实例讲解)
Sep 02 jQuery
JS遍历DOM文档树的方法实例详解
Apr 03 Javascript
解决Mac安装thrift因bison报错的问题
May 17 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
Jun 04 Javascript
详解小程序设置缓存并且不覆盖原有数据
Apr 15 Javascript
使用Karma做vue组件单元测试的实现
Jan 16 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
基于mysql的论坛(4)
2006/10/09 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
基于php实现的验证码小程序
2016/12/13 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
PHP实现通过二维数组键值获取一维键名操作示例
2019/10/11 PHP
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
node.js中的console用法总结
2014/12/15 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
2018/02/09 Javascript
微信小程序中为什么使用var that=this
2019/08/27 Javascript
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
DWR内存兼容及无法调用问题解决方案
2020/10/16 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
关于python列表增加元素的三种操作方法
2018/08/22 Python
详解用python写一个抽奖程序
2019/05/10 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
师德师风个人反思
2014/04/28 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
运动会开幕式主持词
2015/07/01 职场文书
篮球拉拉队口号
2015/12/25 职场文书
2016年艾滋病宣传活动总结
2016/04/01 职场文书
Redis实现主从复制方式(Master&Slave)
2022/06/21 Redis
HttpClient实现文件上传功能
2022/08/14 Java/Android