1

現在、Angular UI Tree接続ツリーを使用しています。Tree1 の深さは 1 レベルのみですが、Tree2 の深さは無制限です。Tree2 INTO Tree1 アイテムから任意のアイテムをドラッグして、そのイベントをキャッチできる必要があります。

明確にするために: 実際には Tree1 は Tree2 の最上位アイテムであり、これにより、データ構造全体の間でアイテムを簡単に移動できます。

現在のドキュメントではこれを行う方法が見つからなかったので、次のようにしました。 Tree1 でドロップを無効にしました。

<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

スコープごとに 1 セットのコールバックのように見えます。おそらく、入ってくるデータにフラグを追加して、1 つのコールバック内のケース スイッチの下で異なる関数を実行するために、どの異なるモデルから来たのかを知ることができます。

于 2017-02-28T06:19:32.557 に答える