【发布时间】:2019-11-29 10:33:23
【问题描述】:
我需要实现嵌套拖放。 如果有人有想法分享我的链接。 已经有人在 react js 中为此工作过。请参考以下链接。 https://primetwig.github.io/react-nestable/dist/example/
【问题讨论】:
标签: javascript arrays react-native recursion
我需要实现嵌套拖放。 如果有人有想法分享我的链接。 已经有人在 react js 中为此工作过。请参考以下链接。 https://primetwig.github.io/react-nestable/dist/example/
【问题讨论】:
标签: javascript arrays react-native recursion
我也有类似的需求。我认为没有实现此类功能的现有库。我找到了一种以 hacky 方式使用现有拖放库的方法来实现 1 级嵌套拖放。
我认为,您也可以使用相同的 hacky 方式为树视图实现嵌套拖放。
如果你愿意,你可以在这里@corupta/react-native-nested-dnd 了解我的实现。或者,如果 1 级嵌套 dnd 足以满足您的情况,您可以直接使用它。
让我解释一下我的“hacky 方式”: 我首先将数据展平为一维列表,然后将其提供给拖放库。然后,当拖动项目时,在拖放库开始工作之前,我将当前项目的视图更改为也包括其子项,并将这些子项从我提供给拖放库的列表中删除。 这会导致闪烁,但现在这些子项现在正与父项一起拖动。
然后,当当前项目被丢弃在某处时,我根据它被丢弃的项目重新创建原始嵌套数据。最后,我再次将新的嵌套数据展平为一维列表,并将其提供给拖放库。
正如我之前所说,数据转换会导致 UI 闪烁,因为它会重新呈现那些被替换的项目,但这对我来说是一个不错的权衡,而不是重新实现整个拖放系统从头开始。
有了这个想法,我认为您也应该能够实现树视图。将来,我不妨实现一个树视图并将其添加到我的 repo 中。
祝你好运!
【讨论】: