微信小程序 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 相关文章推荐
鼠标移动到图片名上,显示图片的简单实例
Jul 14 Javascript
判断文档离浏览器顶部的距离的方法
Jan 08 Javascript
iframe父页面获取子页面参数的方法
Feb 21 Javascript
mvvm双向绑定机制的原理和实现代码(推荐)
Jun 07 Javascript
javascript 动态脚本添加的简单方法
Oct 11 Javascript
jquery实现图片上传前本地预览
Apr 28 jQuery
JS沙箱模式实例分析
Sep 04 Javascript
详解vue axios中文文档
Sep 12 Javascript
Angular如何在应用初始化时运行代码详解
Jun 11 Javascript
JavaScript函数apply()和call()用法与异同分析
Aug 10 Javascript
Vue利用Blob下载原生二进制数组文件
Sep 25 Javascript
vue实现计算器功能
Feb 22 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开发负载均衡指南
2010/07/17 PHP
PHP中鲜为人知的10个函数
2014/02/28 PHP
PHP fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
2015/08/25 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
JS实现异步上传压缩图片
2017/04/22 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
JS实现图片拖拽交换效果
2018/11/30 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
vscode配置vue下的es6规范自动格式化详解
2019/03/20 Javascript
JS浮点数运算结果不精确的Bug解决
2019/08/01 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
Python写的贪吃蛇游戏例子
2014/06/16 Python
python中异常捕获方法详解
2017/03/03 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
浅谈flask源码之请求过程
2018/07/26 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
python程序如何进行保存
2020/07/03 Python
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
文秘专业应届生求职信范文
2013/11/14 职场文书
自我介绍演讲稿
2014/01/15 职场文书
天猫某品牌专卖店运营计划书
2014/03/21 职场文书
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
教师读书活动总结
2014/05/07 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
教师个人师德工作总结2015
2015/05/12 职场文书
婚宴致辞
2015/07/28 职场文书
公安纪律作风整顿心得体会
2016/01/23 职场文书