【问题标题】:How to implement nested drag and drop in React Native?如何在 React Native 中实现嵌套拖放?
【发布时间】:2019-11-29 10:33:23
【问题描述】:

我需要实现嵌套拖放。 如果有人有想法分享我的链接。 已经有人在 react js 中为此工作过。请参考以下链接。 https://primetwig.github.io/react-nestable/dist/example/

【问题讨论】:

    标签: javascript arrays react-native recursion


    【解决方案1】:

    我也有类似的需求。我认为没有实现此类功能的现有库。我找到了一种以 hacky 方式使用现有拖放库的方法来实现 1 级嵌套拖放。

    我认为,您也可以使用相同的 hacky 方式为树视图实现嵌套拖放。

    如果你愿意,你可以在这里@corupta/react-native-nested-dnd 了解我的实现。或者,如果 1 级嵌套 dnd 足以满足您的情况,您可以直接使用它。

    让我解释一下我的“hacky 方式”: 我首先将数据展平为一维列表,然后将其提供给拖放库。然后,当拖动项目时,在拖放库开始工作之前,我将当前项目的视图更改为也包括其子项,并将这些子项从我提供给拖放库的列表中删除。 这会导致闪烁,但现在这些子项现在正与父项一起拖动。

    然后,当当前项目被丢弃在某处时,我根据它被丢弃的项目重新创建原始嵌套数据。最后,我再次将新的嵌套数据展平为一维列表,并将其提供给拖放库。

    正如我之前所说,数据转换会导致 UI 闪烁,因为它会重新呈现那些被替换的项目,但这对我来说是一个不错的权衡,而不是重新实现整个拖放系统从头开始。

    有了这个想法,我认为您也应该能够实现树视图。将来,我不妨实现一个树视图并将其添加到我的 repo 中。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-19
      • 2015-10-16
      • 2015-07-21
      • 2022-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多