2016-10-30 1 views
1

https://fiddle.sencha.com/#fiddle/1jihExtJS 6, effondrés et arbres étendus - glisser-déposer des problèmes

Voici le lien vers un violon. Le problème est que, une fois l'arbre réduit, puis déployé, le glisser-déposer cesse de fonctionner. J'utilise Ext.dd.DragZone.

Étapes pour reproduire:

  1. Essayez de glisser 1 enfant, par exemple. Vous verrez que cela fonctionne.
  2. et développez Racine Collapse
  3. Vous verrez que l'enfant 1 (et tous les autres Childs) deviennent pas draggable
+0

Votre violoneur ne fonctionne pas. Pouvez-vous s'il vous plaît vérifier – UDID

+0

Vérifiez encore une fois, s'il vous plaît – freento

Répondre

1

Vous ajoutez seulement les zones de glissement vers des noeuds d'arbres au démarrage. Lorsque les nœuds sont réduits et développés à nouveau, leurs nœuds enfants sont détruits et recréés. Vous devriez être en mesure d'ajouter la zone de glisser à nouveau à tous les nœuds enfants en cas 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); 
    }); 
}; 

que cette solution ne fonctionne pas semble être un bug Sencha: Un sous-composant (proxy d'état) du dragzone est pas détruit quand le dragzone est détruit. Je ne suis pas complètement sûr de savoir comment contourner ce bug.

+0

oui, j'ai essayé de le recréer sur l'expansion, aussi, et a obtenu une erreur de proxy. Erreur racontée que l'élément avec le même id existe déjà ou quelque chose comme ça. Donc, peut-être, une solution alternative peut être trouvée ... – freento

+0

Pouvez-vous s'il vous plaît aller au forum Sencha et aussi poser des questions sur le bug, alors ils savent qu'il ya quelque chose de louche? – Alexander