2016-10-30 3 views
1

https://fiddle.sencha.com/#fiddle/1jihExtJSの6、崩壊し、ツリーを展開し - ドラッグ&ドロップの問題

はここでバイオリンへのリンクです。問題は、ツリーが折りたたまれて展開された後、ドラッグアンドドロップが機能しなくなることです。 Ext.dd.DragZoneを使用しています。再現する

ステップ:

  1. は、例えば、子供1をドラッグしてください。あなたはそれが動作することがわかります。
  2. 崩壊とあなたはその子1(および他のすべてのチャイルズ)が表示されますルート
  3. を拡大するには、ドラッグ可能ではないとなっ
+0

あなたのフィドラーが動作していません。 – UDID

+0

を確認してください。もう一度チェックしてください。 – freento

答えて

1

あなただけの起動時にツリーノードにドラッグゾーンを追加しています。ノードが折りたたまれて再び展開されると、それらの子ノードは破棄され、再作成されます。あなたはexpandイベントですべての子ノードに再びドラッグゾーンを追加することができるはずです。

_addDDDragToNode = function (node) { 
    var me = this; 

    var treeView = node.getOwnerTree().getView(); 
    me._addDDDragZone(treeView.getNode(node)); 
    node.on('expand',_addDDDragToNode, me); 

    Ext.each(node.childNodes, function(el){ 
     me._addDDDragToNode(el); 
    }); 
}; 

このソリューションが機能しないこと煎茶のバグのようです:dragzoneのサブコンポーネント(ステータスプロキシが)ですドラゴンが破壊されても破壊されません。私はそのバグを回避する方法を完全には分かっていません。

+0

はい、展開時に再作成しようとしましたが、プロキシエラーが発生しました。エラーは、同じIDを持つ要素がすでに存在しているか、このようなものであることを伝えました。だから、おそらく、いくつかの代替解決策が見つかるかもしれません... – freento

+0

あなたはSenchaフォーラムに行って、そこにバグについて尋ねてください。 – Alexander

関連する問題