小程序提供了,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();
}
})

微信小程序上拉下拉刷新的更多相关文章

  1. 微信小程序的下拉刷新

    微信小程序的下拉刷新:在page的js文件中有监听用户下拉刷新的处理函数onPullDownRefresh:function(){} //js文件中自带的处理函数,在onUnload下面,注意不要重复 ...

  2. 微信小程序-自定义下拉刷新

    最近给别个公司做技术支持,要实现微信小程序上拉刷新与下拉加载更多 微信给出的接口不怎么友好,最终想实现效果类似QQ手机版 ,一共3种下拉刷新状态变化,文字+图片+背景颜色 最终实现后的效果(这里提示有 ...

  3. 小程序上拉下拉共存时不可使用scroll-view的解决方法

    使用 bindscrolltolower ,必须搭配使用的 scroll-view 会导致小程序 "enablePullDownRefresh": true 下拉不能使用. 解决方 ...

  4. 【微信小程序】下拉刷新真机测试无效

    根据文档的描述,做上拉加载时直接实现页面的onReachBottom()函数即可.但是要做下拉刷新时,除了实现onPullDownRefresh()函数外,还必须要在app.json中配置开启enab ...

  5. 微信小程序:下拉刷新

    下拉刷新 1.需要在json文件中,设置"enablePullDownRefresh": true,表示该页面使用下拉刷新 2.在微信内置函数onPullDownRefresh中进 ...

  6. 微信小程序-解决下拉刷新报错

    关于“enablePullDownRefresh”: “true” 一.使用方式 在 Page 中定义 onPullDownRefresh 处理函数,监听该页面用户下拉刷新事件.需要在 config ...

  7. 微信小程序 - 关于下拉刷新

    // 拉取数据 fetchData: function() { wx.request({ url: 'http://v.juhe.cn/toutiao/index', data: { type: '' ...

  8. 微信小程序实现下拉刷新上拉加载

    代码片段:https://developers.weixin.qq.com/s/K9VbWZmy7e8C

  9. 微信小程序组件 下拉刷新

    <!-- &&底部加载 --> <view class='page-add-data flexca'> <text>{{pageTottomText ...

随机推荐

  1. bootstrapvalidator的简单校验【必填校验、长度校验、是否存在校验(remote)】

    需求:输入框的"供应商编码"不能为空而且不能与数据库重复,供应商名称不能为空. 解决: 1.input如下 <input id="ssupplierNo" ...

  2. react基础学习 三

    获取原生的DOM 注意:获取DOM是要在组件渲染之后才能被获取,所以在constructor里面获取不到原生的DOM 方法一:回调函数   推荐 方法二:createRef()   16版本,推荐 方 ...

  3. AET 本征半导体

    本征半导体就是纯净的半导体,不掺杂质的半导体 note:(1)本征半导体中载流子数目极少,其导电性能很差:(2)温度愈高,载流子数目越多,半导体的性能也就越好. 杂质半导体 对于4价半导体,可惨杂3价 ...

  4. ef err

    InvalidCastException: The field of type jcz.DomainModels.Sex must be a string, array or ICollection ...

  5. python 列表生成式,生成器&迭代器

    列表生成式: 需求:要对列表 [0,1,2,3,4,5,6,7,8,9]的每个元素加1 用列表生成式一步搞定: li = [i+1 for i in range(10)] # 这种写法就叫列表生成式 ...

  6. 渐进反馈式搜索技术助力运维工程师——Linux命令高效检索

    日常生活工作中,我们通过搜索引擎查询相关资料时,经常遇到不知如何指定准确关键词的情况,仅仅根据指定大概范围的关键词时,搜索结果往往不能尽如人意. <信息导航>APP最新版本(Ver 1.1 ...

  7. python web编程之网络基础

    1.TCP/IP协议 1)分层 应用层,传输层,网络层,接口层 2)Ip地址 3)域名 4)URL统一资源定位符 格式:    [协议]://[主机]:[端口]/[路径]?[参数] 协议是HTTP,F ...

  8. Matplotlib-动画

    Animation 动画 定义方程 参数设置 # Animation 动画 # 定义方程 # 使用matplotlib做动画也是可以的,我们使用其中一种方式,function animation来说说 ...

  9. 微信小程序海报生成功能

    如果是H5页面的话给大家推荐一款不错的插件html2canvas,这个插件可以将html元素转为canvas并一键生成png图片,但是本文的重点是在小程序上如何实现生成图片的功能.因为小程序没有DOM ...

  10. node note

    1.关于next() next()函数接受一个Error对象,在判断错误时,返回这个next()函数,并传入自定义的Error对象可以被向下捕捉,你也可以自定义统一捕捉错误Error的中间件,在app ...