解决scroll-view在微信小程序和uni-app下拉刷新后刷新条无法正常恢复的问题

关于scroll-view,在Uni-app和小程序中

      refresher-triggered="{{triggered}}"
      bindrefresherpulling="onPulling"
      bindrefresherrefresh="onRefresh"
      bindrefresherrestore="onRestore"

1.不管triggered为何值,在界面中下拉,都会触发onRefresh,但不会自动改变triggered值(不能双向绑定,这是问题的根本原因);
2.onRefresh执行完毕,不会自动触发onRestore(复位)(这是问题的表现),使得刷新图标一直显示,必须是triggered由true变为false,才会触发onRestore并隐藏刷新图标;

所以我们在执行onRefresh的时候需要判断是否在刷新中,是的话,就不执行刷新,直接return,否的话,就执行刷新方法,将triggered值设置为true!!!
最后定时调度,再将triggerde设置为false,然后这个就会在刷新后,自己调用onRestore自己复位了,代码如下

自己先定义Isfreshing=false
onRefresh() { 
        if (this.Isfreshing) return;  
        this.Isfreshing = true;  
        if (!this.triggered)//保证刷新状态下,triggered为true  
            this.triggered = true;  
        setTimeout(() => {  
            this.triggered = false;//触发onRestore,关闭刷新图标  
            this.Isfreshing = false;  
        }, 1200)  
      },
      },

遇到微信小程序开发的问题,大部分的原因可能都是由于无法双向绑定造成的,遇见一般小一些的问题,所以多考虑自己写函数方法去尝试解决值的变动。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值