Jiang731619
Jiang731619
  • 发布:2021-06-03 18:23
  • 更新:2021-08-18 09:30
  • 阅读:2029

【报Bug】scroll-view 下拉刷新有BUG

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.1.13

手机系统: Android

手机系统版本号: Android 10

手机厂商: 小米

手机机型: 小米9pro

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

<scroll-view scroll-y refresher-enabled @refresherrefresh="refresh" style="width: 100%; height: 500px;">
<view style="height:3000px"></view>
</scroll-view>

refresh: function(){
console.log('下拉刷新');
}

操作步骤:

<scroll-view scroll-y refresher-enabled @refresherrefresh="refresh" style="width: 100%; height: 500px;">
<view style="height:3000px"></view>
</scroll-view>

refresh: function(){
console.log('下拉刷新');
}

预期结果:

<scroll-view scroll-y refresher-enabled @refresherrefresh="refresh" style="width: 100%; height: 500px;">
<view style="height:3000px"></view>
</scroll-view>

refresh: function(){
console.log('下拉刷新');
}

实际结果:

<scroll-view scroll-y refresher-enabled @refresherrefresh="refresh" style="width: 100%; height: 500px;">
<view style="height:3000px"></view>
</scroll-view>

refresh: function(){
console.log('下拉刷新');
}

bug描述:

用scroll-view做滚动区域,添加下拉刷新@refresherrefresh事件,scroll-view里面的滚动还没到顶的时候@refresherrefresh事件就执行了。app 和 h5存在这个情况,小程序没有。

2021-06-03 18:23 负责人:DCloud_UNI_LXH 分享
已邀请:
f***@sina.com

f***@sina.com

修复啥了,结果修复出另外问题了,滚动出现穿透了

f***@sina.com

f***@sina.com

更新开发工具后 [Intervention] Ignored attempt to cancel a touchmove event with cancelable=false, for example because scrolling is in progress and cannot be interrupted.这个 出现了

3***@qq.com

3***@qq.com

现在 修复的不能穿透操作了。唉。

DCloud_UNI_Anne

DCloud_UNI_Anne

未复现您的问题。产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请提供可稳定复现直接运行的完整示例(上传附件),方便我们快速排查问题哦。
【正确报bug的姿势】https://ask.dcloud.net.cn/article/38139

  • Jiang731619 (作者)

    已上传附件,运行到h5或者app之后页面上一个滚动区域,先滚到最底部,然后往上滚还没到最上面就会触发@refresherrefresh事件

    2021-06-05 16:09

  • DCloud_UNI_Anne

    回复 Jiang731619: H5不支持,app-vue问题复现,后续优化,已加分,感谢您的反馈!

    2021-06-22 15:45

  • t***@163.com

    回复 DCloud_UNI_Anne: 现在好了,下拉刷新的只能触发一次啦

    2021-07-22 14:25

DCloud_UNI_GSQ

DCloud_UNI_GSQ

试试 HBuilderX alpha 3.1.22

z***@163.com

z***@163.com

查了一下源码,7月5日提交的,有严重bug。beforeRefreshing在用户对refresherTriggered置为false的时候,不会发生变化,导致永远无法进行下一次刷新。多下拉几次,后面的操作都无法刷新了。

而且这次修复解决的问题,其实只需要原来的代码在每次处罚刷新之前,检测一下当前高度,满足条件,才进行refresh操作,完全没必要做这么大的改动,改完了之后又明显的没有做测试,害我们程序出问题。

而且原有bug可以通过外部代码解决,现在的这个代码,改外部代码完全没有作用。从普通bug变成高级bug。

  • DCloud_UNI_LXH

    3.2.0 alpha 已修复

    2021-08-02 11:03

  • z***@163.com

    回复 DCloud_UNI_LXH: 下载了最新的版本,已确认修复,话说你是功能代码作者本人吧。。。小伙要加油啊

    2021-08-20 17:50

  • DCloud_UNI_LXH

    回复 z***@163.com: 代码是之前的,在基础上做的修改

    2021-08-23 09:51

  • z***@163.com

    回复 DCloud_UNI_LXH: 兄弟,能不能加个微信?或者你找人帮我看看这个bug,有点急:https://ask.dcloud.net.cn/question/130974

    2021-09-17 10:15

m***@outlook.com

m***@outlook.com - 读好书,求甚解

H5平台修复后
如果页面有scroll-view的话 那么在scrollview的下拉不能触发原生的下拉刷新
这样导致之前但凡页面有scrollView的 下拉刷新都没用 哭....

  • DCloud_UNI_LXH

    现在在scroll-view的下拉阻止了页面的下拉,所以可能需要在scroll-view之外进行下拉

    2021-08-06 15:32

  • m***@outlook.com

    回复 DCloud_UNI_LXH: 这样会存在一个问题,就是我的页面有一部分是scrollView 的但是这个部分我也要让他下拉有页面的下拉刷新 那咋处理么?

    2021-08-16 11:34

  • DCloud_UNI_LXH

    回复 m***@outlook.com: 那你这个scrollview的下拉岂不是和页面的下拉冲突了?你想要哪个?

    2021-08-16 13:16

q***@qq.com

q***@qq.com

更新最新版,scroll-view 下拉刷新一次后,在顶部再下拉就不触发 refresherrefresh 了,但是刷新图标还出现

  • DCloud_UNI_LXH

    什么最新版?版本号多少?

    2021-08-18 10:11

  • q***@qq.com

    回复 DCloud_UNI_LXH: HBuilderX.3.1.22.20210709.full

    2021-08-18 10:17

  • DCloud_UNI_LXH

    回复 q***@qq.com: 3.1.22是有这个问题的,在最新的alpha中修复此问题。如果你不想升级,也可以暂时使用置顶的方法处理一下

    2021-08-18 10:22

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