邓琪昌
邓琪昌
  • 发布:2022-05-26 09:51
  • 更新:2022-06-06 16:47
  • 阅读:1613

【报Bug】scroll-view在鸿蒙HarmonyOS系统中滑动出现异常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.4.7

手机系统: Android

手机系统版本号: Android 12

手机厂商: 华为

手机机型: 测试华为荣耀8X鸿蒙HarmonyOS系统

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
<scroll-view scroll-y style="height: 800rpx;">  
    <view v-for="(item,index) in 100" :key="index">  
        {{item}}  
    </view>  
</scroll-view>

操作步骤:

1、鸿蒙HarmonyOS在pages.json中设置"bounce": "none"编译后滑动scroll-view组件,scroll-view不能滑动。
2、鸿蒙HarmonyOS在不设置"bounce": "none"(有页面回弹)的情况下,首次滑动scroll-view会先触发页面级回弹能不滑动scroll-view组件

预期结果:

1、鸿蒙HarmonyOS在pages.json中设置"bounce": "none"后scroll-view可以滑动。
2、鸿蒙HarmonyOS在不设置"bounce": "none"(有页面回弹)的情况下,滑动scroll-view不应该触发页面级回弹效果。

实际结果:

1、鸿蒙HarmonyOS在pages.json中设置"bounce": "none"后scroll-view不能滑动。
2、鸿蒙HarmonyOS在不设置"bounce": "none"(有页面回弹)的情况下,滑动scroll-view先触发了页面级页面回弹效果,scroll-view组件不能滑动,只有触发完页面级回弹后第二次才能滑动scroll-view。

bug描述:

  • 1、在pages.json中设置取消页面回弹("bounce": "none")效果后,android端不能滑动。
    "pages": [  
        {  
            "path": "pages/index/index",  
            "style": {  
                "navigationBarTitleText": "uni-app",  
                "app-plus": {  
                    "bounce": "none"  
                }  
            }  
        }  
    ]
  • 2、在不设置取消页面回弹的情况下,在scroll-view中向上滑动时,首次先触发的是页面回弹效果且scroll-view组件并不能滑动,只有在触发了页面级回弹后才能再次去滑动scroll-view组件。
    "pages": [  
        {  
            "path": "pages/index/index",  
            "style": {  
                "navigationBarTitleText": "uni-app",  
                "app-plus": {  
                    // "bounce": "none" //取消回弹测试  
                }  
            }  
        }  
    ]
  • 3、上诉情况均在鸿蒙HarmonyOS端出现,ios、android及其他端测试均正常。
  • 4、vue2与vue3均存在这样的情况。
  • 5、已上传测试工程附件。
2022-05-26 09:51 负责人:DCloud_Android_THB 分享
已邀请:
DCloud_Android_THB

DCloud_Android_THB

确认是鸿蒙系统的问题, 暂时你可以再scroll-view下放个组件来解决此问题,例如添加一个button,

<template>  
    <view class="content">  
        <scroll-view scroll-y style="height: 800rpx;" @touchmove="handleClick">  
            <view v-for="(item,index) in 100" :key="index" >  
                第   {{item}} 个元素  
            </view>  

        </scroll-view>  
        <button type="default">hahahhaha</button>  
    </view>  
</template>  
  • 邓琪昌 (作者)

    感谢官方的回复。虽然scroll-view下放个组件暂时可以解决(自定义组件不行,需要是官方的组件,官方组件也是只有小部分,例如button,image)。但这只是示例临时方案,在开发过程大概率是不会这样去使用的,这样开发的局限性有些大。希望官方能尽快修复这个问题。

    2022-06-06 19:12

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