需要写一个小程序下拉刷新效果,本以为应该很简单的东西,没想到微信在这个地方有点小坑?,废话不多,直接上步骤,手把手教大家怎么用。
1、需要在.json文件里设置 "enablePullDownRefresh": true,用于开启页面下拉加载效果,可以当前页设置也可以全局设置;
{ "enablePullDownRefresh": true //当前页 "backgroundTextStyle": "dark" //顶部显示颜色为深色的三个点}
or
"window": { "enablePullDownRefresh": true //全局 "backgroundTextStyle": "dark" //顶部显示颜色为白色的三个点 }
2、注意在开发工具中模拟下拉动作时mac触摸板需要点击同时下拉才能模拟下拉动作,直接双指下拉不行;
3、第一设置好后用onPullDownRefresh()函数监听下拉动作,注意页面可能已经有默认的onPullDownRefresh()函数存在,需要去重;
/** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }
4、重置页面初始数据+调用onLoad()函数制作重新加载效果;
onPullDownRefresh: function () { var that = this; that.setData({ currentTab: 0 //当前页的一些初始数据,视业务需求而定 }) this.onLoad(); //重新加载onLoad() },
5、此时下拉刷新已经ok,但是还可以再优化下:onLoad()函数开头时设置wx.stopPullDownRefresh()停止下拉刷新效果,这样刷新完后就不会继续显示那三个点了~( ̄▽ ̄)~。
/** * 生命周期函数--监听页面加载 */ onLoad: function (options) { wx.stopPullDownRefresh() //刷新完成后停止下拉刷新动效 //后面的业务代码大家自行发挥 },