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

news/2025/2/8 18:09:13/

背景

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/news/1570376.html

相关文章

tcp/ip网络协议,tcp/ip网络协议栈

TCP/IP网络协议和TCP/IP网络协议栈是互联网通信的基石&#xff0c;它们定义了电子设备如何连入因特网以及数据如何在它们之间传输的标准。以下是对TCP/IP网络协议和TCP/IP网络协议栈的详细解释&#xff1a; 一、TCP/IP网络协议 TCP/IP&#xff08;Transmission Control Proto…

科技赋能数字内容体验的核心技术探索

内容概要 在数字化时代&#xff0c;科技的迅猛发展为我们的生活和工作带来了深刻的变革。数字内容体验已经成为人们获取信息和娱乐的重要途径&#xff0c;而这背后的技术支持则扮演着至关重要的角色。尤其是在人工智能、虚拟现实和区块链等新兴技术的推动下&#xff0c;数字内…

硬件电路基础

目录 1. 电学基础 1.1 原子 1.2 电压 1.3 电流 1.电流方向&#xff1a; 正极->负极,正电荷定向移动方向为电流方向&#xff0c;与电子定向移动方向相反。 2.电荷&#xff08;这里表示负电荷&#xff09;运动方向&#xff1a; 与电流方向相反 1.4 测电压的时候 2. 地线…

【算法】动态规划专题⑥ —— 完全背包问题 python

目录 前置知识进入正题模板 前置知识 【算法】动态规划专题⑤ —— 0-1背包问题 滚动数组优化 完全背包问题是动态规划中的一种经典问题&#xff0c;它与0-1背包问题相似&#xff0c;但有一个关键的区别&#xff1a;在完全背包问题中&#xff0c;每种物品都有无限的数量可用。…

VeryReport和FineReport两款报表软件深度分析对比

在当今数据驱动的商业环境中&#xff0c;报表软件已经成为企业管理和数据分析的重要工具。无论是中小型企业还是大型企业&#xff0c;都需要依赖高效的报表工具来快速生成、分析和展示数据。市面上有许多报表工具&#xff0c;其中VeryReport和FineReport是两款备受关注的国产报…

Java-序列化

定义以及相关概念 由于在系统底层&#xff0c;数据的传输形式是简单的字节序列形式传递&#xff0c;即在底层&#xff0c;系统不认识对象&#xff0c;只认识字节序列&#xff0c;而为了达到进程通讯的目的&#xff0c;需要先将数据序列化&#xff0c;而序列化就是将对象转化字节…

【MySQL系列】记插入产生的死锁问题

???欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老…

Spring Boot文件上传

5.3.1文件上传 开发Web应用时&#xff0c;文件上传是很常见的一个需求浏览器通过表单形式将文件以流的形式传递给服务器&#xff0c;服务器再对上传的数据解析处理。下面我们通过一个案例讲解如何使用SpringBoot实现文件上传&#xff0c;具体步骤如下。 1.编写文件上传的表单…