w***@126.com
w***@126.com
  • 发布:2021-08-09 17:01
  • 更新:2021-11-04 09:55
  • 阅读:507

【报Bug】scroll-view组件极端情况下scroll方法获取的信息不对。

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.1.18

手机系统: 全部

手机厂商: 华为

页面类型: vue

nvue编译模式: fast

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<template>  
    <view class="content">  
        <scroll-view scrollY style="margin-left: 100px; height: 400px; background-color: pink;" @scroll="scroll">  
            <view v-for="item in 10" :key="item" style="width: 100px; height: 100px;">texthh</view>  
        </scroll-view>  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                title: 'Hello'  
            }  
        },  
        onLoad() {  

        },  
        methods: {  
            scroll(event){  
                console.log('event', event.target.scrollTop);  
            }  
        }  
    }  
</script>  

<style>  
    .content {  
        display: flex;  
        flex-direction: column;  
        align-items: center;  
        justify-content: center;  
    }  

    .logo {  
        height: 200rpx;  
        width: 200rpx;  
        margin-top: 200rpx;  
        margin-left: auto;  
        margin-right: auto;  
        margin-bottom: 50rpx;  
    }  

    .text-area {  
        display: flex;  
        justify-content: center;  
    }  

    .title {  
        font-size: 36rpx;  
        color: #8f8f94;  
    }  
</style>

操作步骤:

同上述代码示例

预期结果:

希望能有个方法可以得到最终准确的数据。

实际结果:

数据不对称。

bug描述:

scroll-view组件设置纵向,在快速地滑动后到顶(或到底),通过@scroll方法获取到的event.target.scrollTop的值不为零(或不为内部组件的真实高度)。通过查看scroll-view组件的源代码发现“_handleScroll”方法设置了20ms的节流处理导致的。即在到顶(或到底)时没有触发到scroll方法,从而给出的数据不是真实值。

设置横向,有同样的问题。

2021-08-09 17:01 负责人:DCloud_UNI_LXH 分享
已邀请:
w***@126.com

w***@126.com (作者) - 前端小白菜

顶一下

w***@126.com

w***@126.com (作者) - 前端小白菜

顶一下

DCloud_UNI_LXH

DCloud_UNI_LXH

已确认,已加分,预计下版带上

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX alpha 3.2.5+ 已修复

风残落叶

风残落叶

scroll-view天天有问题,一个版本修复完带出另外一个问题,就不能换个靠谱的人修复?

laravuel

laravuel

新bug
https://ask.dcloud.net.cn/question/131709?item_id=177948&rf=false

要回复问题请先登录注册