TLZ
TLZ
  • 发布:2023-08-24 14:12
  • 更新:2023-08-24 21:25
  • 阅读:605

scroll-view中的@refresherrefresh在安卓手机app运行下拉未松手就触发

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: w10

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

手机系统: Android

手机系统版本号: Android 13

手机厂商: 华为

手机机型: nova 5

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

直接下拉

预期结果:

下拉触发方法onPulling,
松手触发方法onRefresh

实际结果:

下拉直接触发onPulling,onRefresh

bug描述:

【报Bug】scroll-view中的@refresherrefresh在安卓手机app运行下拉未松手就触发,导致无法在该方法里改变refresher-enabled,不然就一直抽搐,在微信小程序开发者工具没问题

<scroll-view scroll-y="true" :refresher-enabled="scrollData" :refresher-threshold="100"  
    :refresher-triggered="scroll.trigger" refresher-default-style="white" :scroll-anchoring="true"  
    @refresherrefresh="onRefresh" @refresherpulling="onPulling"  
    class="w-max  flex-1   o-hidden"></scroll-view>  

onPulling() {  
        if (this.LIST.request || this.scroll.trigger) return;  
        console.log("l", this.scroll.trigger)  
        this.scroll.trigger = true;  
        },  
async onRefresh() {  
    this.scroll.trigger = false;  
},
2023-08-24 14:12 负责人:无 分享
已邀请:
w***@gmail.com

w***@gmail.com

你这是测试这个组件怎么用呢吧,逻辑就不对的呢。onPulling刚触发刷新,然后就走到onRefresh()了,立刻又把刷新状态改了,所以就只能抖动了啊。正常情况onRefresh()里面都做网络请求之类,请求完成了才设置false呢,可以加个延时模拟一下

<scroll-view scroll-y="true" :refresher-enabled="scrollData" :refresher-threshold="100"    
    :refresher-triggered="scroll.trigger" refresher-default-style="white" :scroll-anchoring="true"    
    @refresherrefresh="onRefresh" @refresherpulling="onPulling"    
    class="w-max  flex-1   o-hidden"></scroll-view>    

onPulling() {    
        if (this.LIST.request || this.scroll.trigger) return;    
        console.log("l", this.scroll.trigger)    
        this.scroll.trigger = true;    
        },    
async onRefresh() {    
    setTimeout(() => {  // 加延时,不要那么快就设置false  
    this.scroll.trigger = false;    
   }, 3000)  
},

当然最好的例子还是看文档那个,里面加了判断是否在刷新中的状态

  • TLZ (作者)

    问题已解决了谢谢大佬

    2023-09-05 11:35

  • w***@gmail.com

    回复 TLZ: 客气啦,解决了就好,我也是刚开始学习呢

    2023-09-05 11:47

该问题目前已经被锁定, 无法添加新回复