uni-app <movable-view>和<scroll-view>冲突

uni-app <movable-view>和<scroll-view>冲突

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:3.1.22

手机系统:Android

手机系统版本号:Android 10

手机厂商:魅族

手机机型:魅族16th plus

页面类型:vue

打包方式:云端

示例代码:

`

更多关于uni-app <movable-view>和<scroll-view>冲突的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app <movable-view>和<scroll-view>冲突的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在uni-app中,<movable-view><scroll-view>同时使用时确实容易产生手势冲突,这是因为两者都处理触摸事件导致的常见问题。

解决方案:

  1. 使用@touch事件手动控制 通过给movable-view添加@touchstart@touchmove@touchend事件,在触摸开始时阻止事件冒泡:
handleTouchStart(e) {
    e.stopPropagation()
    // 其他逻辑
}
  1. 设置scroll-view的滚动方向 明确指定scroll-view的滚动方向,避免与movable-view的拖动方向冲突:
<scroll-view scroll-y="true" style="height: 100vh">
    <movable-area>
        <movable-view>可拖动内容</movable-view>
    </movable-area>
</scroll-view>
  1. 使用条件判断控制交互 根据业务逻辑,在特定条件下禁用其中一个组件的交互:
data() {
    return {
        scrollEnabled: true,
        movableEnabled: true
    }
}
回到顶部