https://fiddle.sencha.com/#fiddle/1jih
这是小提琴的链接。问题是树折叠然后展开后,拖放停止工作。我正在使用Ext.dd.DragZone。
重现的步骤:
答案 0 :(得分: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);
});
};
这个解决方案不起作用似乎是一个Sencha错误:当dragzone被破坏时,不会破坏dragzone的子组件(状态代理)。我不完全确定如何规避这个错误。