我已经创建了一棵树,当单击该节点时,它会将子节点附加到树节点。最初,在加载树时,我向每个节点添加了一个虚拟子节点,以便在节点旁边可见文件夹图标和箭头,以指示它有一些子节点,当用户单击该节点时,虚拟子节点将被load函数调用返回的节点替换。
我使用以下代码将子节点追加到树节点
listeners: {
'render': function(tp){
tp.getSelectionModel().on('selectionchange', function(tree, node){
tp.getLoader().dataUrl = '/zport/clusterSysReg?args='+node.attributes.name;
tp.getLoader().load(node);
......................
......................
}
}到目前为止,每件事情都很正常,但是添加一个虚拟节点会产生一个问题--当用户单击箭头时,节点就会被展开,用户就会看到虚拟节点。箭头的默认行为是展开节点。是否可以修改此行为,以便当用户单击箭头时,调用load(节点)函数,并且用户可以看到树节点的实际子节点
谢谢,
发布于 2012-08-13 15:33:26
我想出来了.在'beforeexpandnode'事件中调用load(节点)函数.
listeners: {
'beforeexpandnode' : function(node,event){
tree.getLoader().dataUrl = '/zport/clusterSysReg?args='+node.attributes.name;
tree.getLoader().load(node);
..................
....................
}
},https://stackoverflow.com/questions/11935777
复制相似问题