uni-app
uni-app copied to clipboard
vue3中使用事件event.stopPropagation()无法阻止touchmove事件冒泡,但是如果给事件绑定的地方加上.stop事件修饰符却可以阻止冒泡
以下代码使用 stop 事件修饰符能阻止事件冒泡,使得 swiper 无法滚动。
<!-- 只贴了关键代码 -->
<swiper>
<swiper-item @touchmove.stop="touchSwiper">1</swiper-item>
...
const touchSwiper = () => {}
但是我想动态的控制 swiper 的滚动,所以不能用 .stop 修饰符,使用了stopPropagation() 如下代码所示,但是这样却没有效果。
<swiper>
<swiper-item @touchmove="touchSwiper">1</swiper-item>
...
const touchSwiper = e => {
if (!canSwiper) {
e.stopPropagation()
}
}
应该如何做才能动态控制事件冒泡?uni-app 对 stop 修饰符有没有做什么特殊处理?
跟这个问题应该是一样的 https://github.com/dcloudio/uni-app/issues/2191
要不通过v-if 要不就通过css的pointer-events: none;
长时间未回复,关闭 issue,如果还存在这个问题,可以重新打开