Swipe横滑与SwipeItem自定义横滑相互影响

devtools/2025/2/12 3:52:32/

背景

vue项目,H5页面,使用vant的组件库轮播组件<Swipe>,UI交互要求,在每个SwipeItem中有内容,可自横滑,查看列表内容

核心代码

<template><Swipeclass="my_swipe":autoplay="3000"indicator-color="#9d9d9d":stop-propagation="false":show-indicators="false"@change="onChange"><SwipeItem v-for="(item, index) in activeList" :key="item.activityId" class="swipe_item"><div class="activity-container"><StairNewUserBannerv-if="item.taskScene === SCENE.NEWUSER || item.taskScene === SCENE.REUNION":banner-data="item"@jumpPage="jumpToActivePage"/><ProgressCardv-else:card-data="item":card-index="index"@join="clickJoin(item, index)"@jumpPage="jumpToActivePage"/></div></SwipeItem></Swipe>
</template>
<template><div class="stair-new-user-banner-container"><div class="top" :style="topStyle" @click="jumpPage"><template v-if="!isCustomImg"><div class="title"><div class="left">{{ topTitle }}</div><div v-if="topTitle2" class="right">·</div><div class="right">{{ topTitle2 }}</div><img class="arrow" src="https://www.baidu.com/" /></div><div class="desc"><div v-if="showActivityRemindTime" class="remind-time">距结束<div v-if="activityRemindTime.days !== '00'" class="time-item"><div class="num">{{ activityRemindTime.days }}</div>天</div><div v-if="activityRemindTime.hours !== '00'" class="time-item"><div class="num">{{ activityRemindTime.hours }}</div>小时</div><div v-if="activityRemindTime.minutes !== '00' && activityRemindTime.days === '00'" class="time-item"><div class="num">{{ activityRemindTime.minutes }}</div>分钟</div></div><div class="line"></div><div>{{ activityBizTypeDesc }}</div></div></template></div><div ref="bannerContent" class="content"><div class="crisp"><BannerSectionv-for="(item, index) in sectionList":key="index":section-data="item":static-data="staticData":section-list="sectionList":index="index"/><div class="bottom-bar"><div class="process-bar" :style="processBarStyle"></div></div></div></div></div>
</template>

问题描述

当想要滚动sectionList的内容时,SwipeItem跟着一起横滑

问题原因

sectionList列表的横滑事件冒泡了,影响到了轮播的横滑

解决方案

javascript">  mounted() {this.handleTouchMove = (e) => {e.stopPropagation()}this.handleTouchStart = (e) => {e.stopPropagation()}this.$refs.bannerContent.addEventListener('touchmove', this.handleTouchMove)this.$refs.bannerContent.addEventListener('touchstart', this.handleTouchStart)},beforeDestroy() {this.$refs.bannerContent.removeEventListener('touchmove', this.handleTouchMove)this.$refs.bannerContent.removeEventListener('touchstart', this.handleTouchStart)}

fix

小程序的swiper组件和每个swiper-item中用<scroll-view class="content" scroll-x="{ {true}}"></scroll-view>包裹的横滑没有这个问题


http://www.ppmy.cn/devtools/157630.html

相关文章

DNS攻击方式有哪些,应该采取哪些应对措施?

在当今数字化时代&#xff0c;网络已成为人们生活和工作不可或缺的一部分。而 DNS&#xff08;域名系统&#xff09;作为互联网的关键基础设施&#xff0c;如同电话簿一般&#xff0c;将人们易于记忆的域名转换为计算机能够识别的 IP 地址&#xff0c;让我们能够轻松访问各类网…

战场物联网中的移动雾人工智能

论文标题 英文标题&#xff1a;Mobile Fog AI for Internet of BattleField Things (IoBT) 中文标题&#xff1a;战场物联网中的移动雾人工智能 作者信息 Sheuli Paul, DRDC, Canada Marius Silaghi, Veton Kepuska, Akram Alghanmi, Florida Institute of Technology, USA …

C# Winform怎么设计串口,客户端和相机控件界面显示

首先我们必须把这个类创建好 INIAPI using System; using System.Text; using System.Runtime.InteropServices;namespace Ini {public class IniAPI{#region INI文件操作/** 针对INI文件的API操作方法&#xff0c;其中的节点&#xff08;Section)、键&#xff08;KEY&#x…

MOSSE目标跟踪算法详解

1. 引言 MOSSE算法&#xff08;Multi-Object Spectral Tracking with Energy Regularization&#xff09;是多目标跟踪领域的一座里程碑式成果&#xff0c;被认为是开创性的工作&#xff0c;为后续研究奠定了重要基础。该算法通过创新性地结合频域特征分析与能量正则化方法&am…

计算机网络知识速记:三次握手

计算机网络知识速记&#xff1a;三次握手 一、三次握手的基础 在计算机网络中&#xff0c;TCP/IP协议是一种面向连接的协议&#xff0c;而三次握手则是建立TCP连接的关键步骤。其过程涉及到客户端和服务器之间的三次通信&#xff0c;确保双方准备好发送和接收数据。进行三次握…

Node.js中http模块(二)

一、http模块 http 模块是 Node.js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer0) 方法&#xff0c;就能方便的把一台普通的电脑&#xff0c;变成一台 Web 服务器&#xff0c;从而对外提供 Web 资源服务。 二、域名和域名服务器 尽管 I…

通过案例讲述docker,k8s,docker compose三者的关系

以下是一个结合 Docker、Docker Compose 和 Kubernetes&#xff08;k8s&#xff09;的案例&#xff0c;展示三者在应用开发、本地测试和生产部署中的协作关系&#xff1a; 案例背景 假设我们要开发一个 Web 应用&#xff0c;包含以下组件&#xff1a; 前端&#xff1a;Node.j…

【多线程-第三天-NSOperation和GCD的区别 Objective-C语言】

一、我们来看NSOperation和GCD的区别 1.我们来对比一下,NSOperation和GCD, 那这个代码,我们都写过了, 我们来看一下它们的特点啊,首先来看GCD, 1)GCD是C语言的框架,是iOS4.0之后推出的,并且它的特点是,针对多核做了优化,可以充分利用CPU的多核,OK,这是GCD, 2…