微信小程序上拉下拉刷新
小程序提供了,onPullDownRefresh和onReachBottom两个事件函数监听下拉和上拉事件函数。提示加载中,取消加载中
效果:

js文件
// pages/enterprise/enterprise.js
var app = getApp();
Page({ /**
* 页面的初始数据
*/
data: {
enterpriseList: [],
pageNo: , //页数
pageSize: , // 条数
cityCode: null // 城市编码
}, //查询数据
queryData: function() {
var that = this;
var pageNo = this.data.pageNo;
var pageSize = this.data.pageSize;
var provinceCode = "";
var cityCode = wx.getStorageSync("cityCode"); wx.showLoading({ //弹出页面加载中
title: '加载中...',
}); wx.request({
url: xxxxxx //上线的话必须是https,没有appId的本地请求貌似不受影响
method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
header: {
'Content-Type': "application/x-www-form-urlencoded",
'Cookie': 'SESSION=' + wx.getStorageSync("sessionId")
}, // 设置请求的 header
data: {
pageIndex: pageNo,
pageSize: pageSize,
companyDivisoinCode: provinceCode + "|" + cityCode + "|"
},
success: function(res) {
app.consoleLog("请求数据成功");
app.consoleLog(res.data)
wx.hideLoading(); //隐藏加载中提示
if (res.data.dataList.length > ) {
if (that.data.enterpriseList.isEmpty) {
that.setData({ // 设置页面列表的内容
enterpriseList: res.data.dataList,
})
} else {
that.setData({ // 设置页面列表的内容
enterpriseList: that.data.enterpriseList.concat(res.data.dataList),
totalPageCnt: res.data.totalPageCnt,
})
}
} else {
wx.showToast({
title: "没有更多数据了",
duration: ,
icon: 'none',
mask: true
})
}
},
fail: function() {
wx.hideLoading(); //隐藏加载中提示
wx.showToast({
title: "请求失败!",
duration: ,
icon: 'none',
mask: true
})
},
complete: function() {
// complete
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function(options) {
this.setData({
globalData: app.globalData
});
}, /**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function() {
this.setData({ //刷新操作初始化数据
pageNo: ,
list: [],
isEmpty: true
})
this.queryData(); //查询数据
}, /**
* 页面 上拉触底事件的处理函数
*/
onReachBottom: function() {
var pageNum = this.data.pageNo; if (pageNum < this.data.totalPageCnt) {
this.setData({
pageNo: pageNum + //设置下一页
})
this.queryData(); //查询数据
} else {
wx.showToast({
title: "没有更多数据了",
duration: ,
icon: 'none',
mask: true
})
} }, onShow: function(e) { if (!this.data.cityCode) { // 页面首次加载时cityCode=null,查询数据
this.refreshData();
} else if (this.data.cityCode != wx.getStorageSync("cityCode")) { // 当地区改变时加载数据,此时避免二级页返回时重新加载
this.refreshData();
} },
// 重新加载数据
refreshData: function (){
this.setData({
enterpriseList: [],
pageNo: , //页数
pageSize: , // 条数
cityCode: wx.getStorageSync("cityCode"), //保存当前城市编码
});
this.queryData();
}
})
微信小程序上拉下拉刷新的更多相关文章
- 微信小程序的下拉刷新
微信小程序的下拉刷新:在page的js文件中有监听用户下拉刷新的处理函数onPullDownRefresh:function(){} //js文件中自带的处理函数,在onUnload下面,注意不要重复 ...
- 微信小程序-自定义下拉刷新
最近给别个公司做技术支持,要实现微信小程序上拉刷新与下拉加载更多 微信给出的接口不怎么友好,最终想实现效果类似QQ手机版 ,一共3种下拉刷新状态变化,文字+图片+背景颜色 最终实现后的效果(这里提示有 ...
- 小程序上拉下拉共存时不可使用scroll-view的解决方法
使用 bindscrolltolower ,必须搭配使用的 scroll-view 会导致小程序 "enablePullDownRefresh": true 下拉不能使用. 解决方 ...
- 【微信小程序】下拉刷新真机测试无效
根据文档的描述,做上拉加载时直接实现页面的onReachBottom()函数即可.但是要做下拉刷新时,除了实现onPullDownRefresh()函数外,还必须要在app.json中配置开启enab ...
- 微信小程序:下拉刷新
下拉刷新 1.需要在json文件中,设置"enablePullDownRefresh": true,表示该页面使用下拉刷新 2.在微信内置函数onPullDownRefresh中进 ...
- 微信小程序-解决下拉刷新报错
关于“enablePullDownRefresh”: “true” 一.使用方式 在 Page 中定义 onPullDownRefresh 处理函数,监听该页面用户下拉刷新事件.需要在 config ...
- 微信小程序 - 关于下拉刷新
// 拉取数据 fetchData: function() { wx.request({ url: 'http://v.juhe.cn/toutiao/index', data: { type: '' ...
- 微信小程序实现下拉刷新上拉加载
代码片段:https://developers.weixin.qq.com/s/K9VbWZmy7e8C
- 微信小程序组件 下拉刷新
<!-- &&底部加载 --> <view class='page-add-data flexca'> <text>{{pageTottomText ...
随机推荐
- C# VS2017的.net Core1.0项目在版本升级为2.0后找不到程序集的处理办法
最近不小心升级了VS2017,然后原来的.net web core1.0的项目是引用了DataBaseLib的程序集,如图 ,升级之后安装了2.0的框架,发现项目就报错了,,这个是还是之后报的错误, ...
- vue2.0插件--loading
loading效果很常见,常见到我们任何一个项目中,都可以见到他的身影.今天就以loading作为切入口,唠叨一下vuejs的插件的写法. 看vuejs官方文档关于插件的说明,关于使用插件和写插件,V ...
- win10下安装ubantu
最近想看一点深度学习的东西,发现还是用linux更加方便一些.虽然,我对linux一窍不通....但是,目前很多教材,框架,都是基于linux.本来打算用虚拟机,后来发现虚拟机对于GPU的支持不好搞. ...
- Flyway数据表迁移框架的使用
目录 1. 概述 2. Maven配置 3. SQL文件规范 4. 命令 5. 总结 1. 概述 Flyway是一个根据表结构快速生成数据表的工具,类似于Hibernate的自动生成表的特性. 官网: ...
- binlog2sql实现MySQL误操作的恢复
对于MySQL数据库中的误操作删除数据的恢复问题,可以使用基于MySQL中binlog做到类似于闪回或者生成反向操作的SQL语句来实现,是MySQL中一个非常实用的功能.原理不难理解,基于MySQL的 ...
- MyEclipse2014破解版安装教程
下载安装包和破解程序脚本 1.下载地址 链接:https://pan.baidu.com/s/1XuMweEz602zcoGqwPb2xTA 提取码:idsx 两个文件:myeclipse-pro- ...
- Maven中聚合与集成的区别
如test-parent是一个聚合工程,打包方式为pom.xml test-a是test-parent的一个moudle模块,打包方式为jar,并且继承自test-parent: test-b是tes ...
- MySQL 自带4个默认数据库
默认数据库分类: information_schema performance_schema mysql test informance_schema 保存了MySQl服务所有数据库的信息. 具体My ...
- 使用autohotkey修改方向键、回车和启动程序
具体步骤 下载并安装autohotkey. 在你觉得合适的地方鼠标右键-新建-autohotkey script(脚本):或者创建一个别的文件,再把后缀改成ahk也可以 一个新建的ahk文档里面会有这 ...
- mysql链接服务器,update报错
select * from Openquery(MySQL, 'SELECT * FROM official.sys_hospital') 执行更新语句: ; 报错,错误信息: 链接服务器" ...