微信小程序下拉刷新onPullDownRefresh

微信小程序下拉刷新经常使用,及时获取服务器的最新动态,尤其是对经常更新的数据来说是非常必要的,用户的习惯就是浏览完了当前内容后都喜欢下拉刷新,我以原生的下拉刷新作为案例,讲讲下拉刷新的效果。

当然,首先要进行思考,如果有思路了自然就不难想到方法,如果思路不清楚,那么就难以按键盘进行写代码了。不光是未了实现下拉刷新而这样,还要给用户更好的体验,刷新过程显示“正在刷新”、“加载中”或者用图像提示,我就直接用微信小程序提供的标题栏刷新图标进行提示。

思路:用户下拉窗口 =》触发下拉刷新事件 =》 js进行事件判断 =请求服务器数据 =》设置新的数据 =》显示给用户 =》完成刷新事件。

当然涉及到的加载图标、也在事件当中了。下面看代码:

//下拉刷新事件开始
onPullDownRefresh:function(){
//这步很重要,网络请求不能用this
var self = this
//这是显示导航条上面“正在加载”的动态
wx.showNavigationBarLoading()
wx.request({
//服务器API地址,非真实地址
url: 'https://wwlanlanlanlan/api.php',
method: 'POST',
data: {},
header: {
'content-type': 'application/json'
},
//请求成后的处理
success: function (res) {
//设置数据,wxml进行调用
self.setData({
articles: res.data.data
})
//停止下拉刷新
wx.stopPullDownRefresh(),
//隐藏导航栏的刷新动态标志
wx.hideNavigationBarLoading()
}
})
}

当然,还要在app.json里面启用下拉刷新的功能(也可以在子目录的json设置单个页面,在app.json则是全局):


"window":{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "green",
"navigationBarTitleText": "励志你我他",
"navigationBarTextStyle":"black",
"enablePullDownRefresh":true
}

这样就完成了下拉刷新的事件了,当然,用ajax异步请求更好,不过我比较喜欢原生的方式。



评论/留言