如果各个层级的组件都有拖拽的功能,如何防止它们之间互相影响?

2022-03-17 23:04:52 +08:00
 TWorldIsNButThis
demo https://stackblitz.com/edit/vitejs-vite-cvb6u1?file=src/App.tsx

我在一个 pull to refresh 组件里套了一个 swiper
swiper 里每一页都是一个 droppable 的 list
list 里面是 dragable 的 item
每次拖拽 item 就会导致 swiper 和 pull to refresh 都触发
试着在 dragable 的 item 上 on touch move e.stopPropagation 或者 preventDefault 都没效果
怎么解决这个问题也毫无头绪
952 次点击
所在节点    问与答
2 条回复
dablwow
2022-03-18 09:43:08 +08:00
拖拽 item 没有触发 pull to refresh ,这个应该是正确行为吧
TWorldIsNButThis
2022-03-18 12:17:32 +08:00
@dablwow 是 demo 里的吗
我后来找了个控制下拉高度的属性 在 ondragstart 的时候设为 0 就可以避免下拉
但是 swiper 的左右滑动靠在 ondragstart 的时候设置 allow touch move 为 false 就不行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/841135

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX