首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有冲突的两个拖放库

有冲突的两个拖放库
EN

Stack Overflow用户
提问于 2020-06-20 11:21:35
回答 2查看 700关注 0票数 2

我们都在使用react-sortable-hocreact-dropzone,如果在单独的页面上,它们可以很好地工作。但是,当在同一页面上使用react-sortable-hoc时,react-dropzone不能正常工作,因为我注意到react-dropzone也是由从react-sortable-hoc拖动事件触发的。(例如,我不能再在其他项目之间拖动一个项目。)

我尝试将e.preventDefault()e.stopPropagation()添加到react-sortable-hoconSortStart事件中,但react-dropzone仍在被触发。

我们还能用什么方法让他们在一起玩得很好/不让对方受到影响?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-06-30 05:05:25

我创建了一个Sandbox,并尝试在相同的组件上使用react-dropzonereact-sortable-hoc来再现您的代码。它运行良好,没有任何问题。

https://codesandbox.io/s/nifty-ganguly-khswc?file=/src/App.js:1156-1485

票数 2
EN

Stack Overflow用户

发布于 2020-06-25 07:18:48

如果问题是在删除时引起的(而不是在开始拖动时):regarding区域接管了整个窗口中的文件删除,以防止浏览器在用户错过拖放区域时从当前页面导航到已删除的文件(这是一个常见的烦恼)。

更具体地说,dragoverdrop处理程序是registered on the document

代码语言:javascript
复制
document.addEventListener('dragover', onDocumentDragOver, false)
document.addEventListener('drop', onDocumentDrop, false)

如果这就是问题所在,您应该能够通过将react下拉区域option preventDropOnDocument设置为false (默认为true)来规避这一问题。

或者,您可以尝试使用react dropzone option noDragEventsBubbling,但我认为这将处理相反的问题(在删除文件时触发react可排序的事件)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62485146

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档