1

我目前正在使用Angular UI Tree连接树。Tree1 只有一层深度,而 Tree2 的深度是无限的。我需要能够将 Tree2 中的任何项目拖入Tree1项目并捕获该事件。

澄清一下:实际上 Tree1 是 Tree2 的顶级项目,这使我可以轻松地在整个数据结构之间移动项目。

在当前文档下我找不到执行此操作的方法,因此我执行了以下操作: 在 Tree1 上,我禁用了 drop:

<div ui-tree="tree1Options" id="tree1-root" data-nodrop-enabled='true'>

然后在 Tree2 我添加了以下回调:

<div ui-tree="tree2Options" id="tree2-root">

$scope.tree2Options = {
dropped : function(event) {
      console.log("dropped" + event);
    },

    dragStop : function(event) {
      console.log("dragStop" + event);
    },

    beforeDrop : function(event) {
      console.log("beforeDrop" + event);
    },
}

当我从 Tree2 拖到 Tree1 上时,没有显示占位符(这很好),但我无法从目的地获得放置在哪个项目上。似乎 dest 实际上是源。

有任何想法吗?另外,您是否知道实现 DROP INTO 的更好方法?

4

1 回答 1

0

似乎每个范围都有一组回调,也许可以向传入的数据添加一个标志,以便它知道它来自哪个不同的模型,以便在一个回调中的 case 切换下运行不同的函数

于 2017-02-28T06:19:32.557 回答