我在可以选择的项目列表上使用react-selectable-fast。但是,一个项目或一组选定的项目也应该是可拖动的,这是使用react-dnd实现的。
问题在于选择是以拖动方式进行的;当将鼠标悬停在某个项目上方并尝试将其拖动时,我最终选择了。
我已经设法解决了一个黑客问题:将状态存储在当前是悬停一个项目还是一组选定的项目,如果是disable
<SelectableGroup>
的情况下。但是,这意味着每次将鼠标移到某个项目上时,都会重新渲染整个项目列表。
所以我想要一个更好的解决方案,但是我一直找不到。在上一次尝试中,我将可拖动元素(使用connectDragSource
)放在可选元素(使用createSelectable
)之上,再次放在<SelectableGroup />
之上,并给它们增加了z-index
,也尝试与stopPropagation()
和preventDefault()
一起玩,但是选择仍然会覆盖拖动。
有什么想法吗?