有兄弟使用过 react-dnd 这个组件么?使用它之后,默认的 drag and drop events 都不能工作了。

2021-11-29 16:38:13 +08:00
 yazoox

code sandbox sample

repro steps:

  1. 打开上面的 code sandbox 链接,在棋盘上拖动棋子,没有问题。这个是 react-dnd 官方的代码。
  2. 然后,我添加了一段代码,使用了 ul/li 最基本的元素,并且,添加了标准的 drag events ,比如,ondragenter, ondragover and ondrop ,等等。
  3. 结果,不工作,完全不触发。绑定在 drag source 上事件,ondragstart 还是可以触发的(打印 log )。但是剩下的,所有和 drop target 相关的事件,全部都不能正常触发。
  4. 不论 list items 是放在 DndProvider 内部,还是外部,都不工作。
  5. 直接把 <Example /> 删除掉后,拖放就能够正常工作了。
  6. 我又找了个第三方的 treeview 组件尝试了一下,情况同上。

p.s.
为什么不直接使用 drag and drop events ,或者全部使用 react-dnd 。这个是历史问题,暂时没有办法全面更改。

1252 次点击
所在节点    React
1 条回复
yazoox
2021-12-14 14:02:19 +08:00
我找到解决方案,详细情况,可以查看 Github 上面的 issue #3344 ( https://github.com/react-dnd/react-dnd/issues/3344)

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

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

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

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

© 2021 V2EX