微信小程序 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 相关文章推荐
图片自动缩小的js代码,用以防止图片撑破页面
Mar 12 Javascript
理解 JavaScript 预解析
Oct 25 Javascript
浏览器窗口加载和大小改变事件示例
Feb 27 Javascript
通过JS来动态的修改url,实现对url的增删查改
Sep 01 Javascript
jquery实现像栅栏一样左右滑出式二级菜单效果代码
Aug 24 Javascript
需要牢记的JavaScript基础知识
Sep 25 Javascript
Ionic+AngularJS实现登录和注册带验证功能
Feb 09 Javascript
vue.js路由跳转详解
Aug 28 Javascript
浅谈如何通过node.js对数据进行MD5加密
May 16 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
Jan 16 Javascript
解决removeEventListener 无法清除监听的问题
Oct 30 Javascript
原生Js 实现的简单无缝滚动轮播图的示例代码
May 10 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/05/26 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
js获取元素相对窗口位置的实现代码
2014/09/28 Javascript
jquery实现在光标位置插入内容的方法
2015/02/05 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
JavaScript的模块化开发框架Sea.js上手指南
2016/05/12 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
JS实现动画兼容性的transition和transform实例分析
2016/12/13 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
Python中字典和集合学习小结
2017/07/07 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
Keras loss函数剖析
2020/07/06 Python
python 进制转换 int、bin、oct、hex的原理
2021/01/13 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
美国维生素、补充剂、保健食品购物网站:Vitacost
2016/08/05 全球购物
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
高校生生产实习自我鉴定
2013/09/21 职场文书
宣传保护环境的公益广告词
2014/03/13 职场文书
2014年团总支工作总结
2014/11/21 职场文书
2015年“七七卢沟桥事变”纪念活动总结
2015/03/24 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
《搭石》教学反思
2016/02/18 职场文书