Java 通过单击箭头加载树extjs3中的节点

Java 通过单击箭头加载树extjs3中的节点,java,extjs,extjs4,extjs3,Java,Extjs,Extjs4,Extjs3,我已经创建了一个树,在单击该节点时将子节点附加到树节点。 最初,在加载树时,我向每个节点添加了一个虚拟子节点,以便在节点旁边可以看到一个文件夹图标和箭头,以指示它有一些子节点,当用户单击该节点时,虚拟子节点将被调用load函数返回的节点替换 我使用以下代码将子节点附加到树节点 listeners: { 'render': function(tp){ tp.getSelectionModel().on('selectionchange', function(tre

我已经创建了一个树,在单击该节点时将子节点附加到树节点。 最初,在加载树时,我向每个节点添加了一个虚拟子节点,以便在节点旁边可以看到一个文件夹图标和箭头,以指示它有一些子节点,当用户单击该节点时,虚拟子节点将被调用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);
            ...................... 
            ......................
            }
}
到目前为止,一切都很正常,但添加虚拟节点会产生一个问题——当用户单击箭头时,节点会展开,用户会看到虚拟节点。箭头的默认行为是展开节点。是否可以修改此行为,以便在用户单击箭头时调用加载(节点)函数,并且用户可以看到树节点的实际子节点


谢谢,

我明白了。。。。。。。。调用'beforeexpandnode'事件中的加载(节点)函数 像这样

listeners: {
    'beforeexpandnode' : function(node,event){
         tree.getLoader().dataUrl = '/zport/clusterSysReg?args='+node.attributes.name;
         tree.getLoader().load(node);
         ..................
         ....................
     }
},