uni-app安卓端nvue页面swiper组件垂直滑动困难

发布于 1周前 作者 wuwangju 来自 Uni-App

uni-app安卓端nvue页面swiper组件垂直滑动困难

在安卓端用nvue页面,swiper+video列表做短视频,垂直滑动必须直上直下才能识别到,尤其是用大拇指想向下滑看上一个视频,更是困难,官方能不能优化一下这个swpier组件在安卓端的体验(IOS端体验很好)

25 回复

2024 年 5 月 16 日,问题依旧存在


麻烦提供一个可复现的示例,我们这边优化一下。

请问这个问题解决了吗?怎么解决的。我也碰到同样的问题。

用list不就行了

都2021年了,这个问题还是存在。荣耀20

都2021.9.9了,这个问题还是存在。小米K30s

okok,我先试试

大哥,大哥,我包起来不能上下拖动嘞,更不能像swiper那样一屏一屏的。。。。。

ios swiper+list 横向滑动切换体验非常难受,以前还正常,最新的 3.2.6 整个组件给人的感觉就是很飘,很不舒服

都2021.11.8了,这个问题还是存在。小米10pro

2021-11-17 依然滑动困难

都2022-8-2 依然滑动困难

都2022-11-24 依然滑动困难

都2023-3-29了,问题还是存在

哈哈,在沙漠里是等不来船的

都2023-5-5了,问题还是存在

2023年6月15日,依然存在

没人管管么这个问题?

2024年了,还没人管么?

2024年9月6日,问题依旧存在

马上2025年了依然存在;小米11依旧只有垂直滑动才会触发swiper

在uni-app中,nvue页面使用swiper组件时遇到垂直滑动困难的问题,可能是由于一些常见的配置或样式问题导致的。以下是一些可能的原因和相应的代码示例,帮助你解决这个问题。

1. 确保swiper方向正确设置

首先,确保你的swiper组件的direction属性设置为vertical,这是实现垂直滑动的关键。

<swiper :direction="'vertical'" :autoplay="false" :interval="3000" :duration="500">
    <swiper-item v-for="(item, index) in items" :key="index">
        <text>{{ item }}</text>
    </swiper-item>
</swiper>

2. 检查外部容器的样式

有时候,外部容器的样式可能会影响swiper的滑动效果。确保外部容器没有设置overflow: hiddenposition: fixed等可能限制滑动的样式。

.container {
    /* 确保没有设置 overflow: hidden 或 position: fixed */
    width: 100%;
    height: 100%;
}

3. 禁用触摸事件冒泡

在某些情况下,触摸事件可能会冒泡到父容器,导致swiper的滑动行为被阻止。你可以通过阻止触摸事件冒泡来解决这个问题。

<template>
    <view class="container">
        <swiper @touchstart.stop @touchmove.stop @touchend.stop :direction="'vertical'">
            <swiper-item v-for="(item, index) in items" :key="index">
                <text>{{ item }}</text>
            </swiper-item>
        </swiper>
    </view>
</template>

4. 检查nvue页面的滚动设置

在nvue页面中,确保没有全局或局部的滚动设置干扰了swiper的垂直滑动。例如,page组件的scroll-y属性应该被正确管理。

<page>
    <scroll-view scroll-y="false">
        <swiper :direction="'vertical'">
            <swiper-item v-for="(item, index) in items" :key="index">
                <text>{{ item }}</text>
            </swiper-item>
        </swiper>
    </scroll-view>
</page>

注意:在nvue中,通常不需要scroll-view来包裹swiper,这里只是为了说明如何管理滚动。实际上,swiper组件本身应该已经处理好了滚动。

总结

通过上述步骤,你应该能够定位并解决uni-app中nvue页面swiper组件垂直滑动困难的问题。如果问题仍然存在,建议检查是否有其他自定义样式或JavaScript代码干扰了swiper的正常工作。

回到顶部