微信小程序实现下拉刷新功能

  • 本文将简单介绍如何实现微信小程序的下拉刷新
  • 将要使用的api:
    • wx.showNavigationBarLoading(Object object)
    • wx.showLoading(Object object)
    • wx.hideLoading(Object object)
    • wx.hideNavigationBarLoading(Object object)
    • wx.stopPullDownRefresh(Object object)
    • wx.request(Object object)
    //刷新
    onRefresh(){
        //在当前页面显示导航条加载动画
        wx.showNavigationBarLoading(); 
        //显示 loading 提示框。需主动调用 wx.hideLoading 才能关闭提示框
        wx.showLoading({
          title: '刷新中...',
        })
        this.getData();
      },
    //网络请求,获取数据
    getData(){
    	wx.request({
            url: '',
            //网络请求执行完后将执行的动作
            complete(res){
                //隐藏loading 提示框
                wx.hideLoading();
                //隐藏导航条加载动画
                wx.hideNavigationBarLoading();
                //停止下拉刷新
                wx.stopPullDownRefresh();
      	  	}
    	})   
    },
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {
        //调用刷新时将执行的方法
    	this.onRefresh();
    }

除了在js页面编写响应的逻辑之外,还需要再相应页面的json中写入以下配置,这个配置允许这个页面进行下拉刷新动作

    {
         "enablePullDownRefresh": true
    }

特别需要注意的是:

  • 写之前先看看有无已经存在的onPullDownRefresh:function()函数,否则将不能监听到用户的下拉刷新动作
  • 注意相关api的配对使用
  • 不要忘了在需要刷新结束时调用wx.stopPullDownRefresh(),否则,页面将会保持下拉状态、不会回弹。·

此外,除了下拉刷新,有时候可能是在某个事件进行时触发刷新动作,此时可以调用wx.startPullDownRefresh(Object
object) 此api的作用是:“ 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。”

posted @ 2021-07-27 09:04  江咏之  阅读(535)  评论(0编辑  收藏  举报