react-dnd DropTarget 在启用 Tree draggable 时不触发

问题描述 投票:0回答:0

我正在开发一个应用程序,我需要将我的项目从右侧面板拖到左侧面板。右侧面板包含项目列表,使用表格组件。左侧面板包含文件夹列表,可以使用树组件在文件夹之间拖动。 目前,我正在尝试使用 react-dnd 插件来实现拖放功能。对于 Tree & Table 组件,我使用的是 antd 插件。

我有一个问题。在 Tree 组件中有一个名为 'draggable' 的属性,它可以在 Tree 组件中启用拖放项目。如果我将 DropTarget 实现到每个 TreeNode/Tree 组件,我将无法使用它自己的可拖动功能,反之亦然。

我想不实现 DropTarget,只实现 DragTarget,并在 EndDrag 处理程序中做一些事情。我在测试环境中测试过,可以。但是,当我在实际项目中实现时,给出的响应有点延迟。我无法立即执行/将第二项拖到文件夹中。我不确定是不是因为 DropTarget 没有实现。

我的意图是当我拖动我的项目时,我会将信息存储在一个状态中,当我悬停到我的文件夹时,我会将信息存储在一个状态中。当物品被放下/结束拖动时,我将根据这两种状态执行一些操作。我希望保留 Tree 组件中的可拖动功能,所以我没有为这些操作实现其他处理程序。

有人可以帮我吗?有没有更好的解决方案?

这是我的测试环境,实现了 DropTarget 并启用了 Tree 的可拖动: https://stackblitz.com/edit/react-w1bbuc-kxmudq

reactjs tree antd react-dnd droptarget
© www.soinside.com 2019 - 2024. All rights reserved.