【问题标题】:load node in a tree extjs 3 by clicking on the arrow通过单击箭头在树 extjs 3 中加载节点
【发布时间】:2012-08-13 13:56:26
【问题描述】:

我创建了一个树,当单击该节点时,它会将子节点附加到树节点。 最初,在加载树时,我向每个节点添加了一个虚拟子节点,以便在节点旁边可以看到一个文件夹图标和箭头,以指示它有一些子节点,当用户单击该节点时,虚拟子节点将替换为节点调用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(node) 函数并且用户可以看到树节点的实际子节点

谢谢,

【问题讨论】:

    标签: java extjs extjs4 extjs3


    【解决方案1】:

    我想通了............在 'beforeexpandnode' 事件中调用 load(node) 函数 像这样............

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多