我做了一个EXT树,树节点很多,树很深;想每次点击树的加号就展开2级下级节点,什么做?
我试过expand事件,但expand是只要有节点展开就触发.结果导致有几十个子节点就触发几十次,这显然不合理.
试问:是否"+"上可增加"click"事件?或有类似解决办法?

解决方案 »

  1.   

    监听expand事件,处理的时候判断一下节点的深度,如果是你需要处理的那一层,加载两次
      

  2.   

    我觉得“+”你所要的事件完全就是要么是expand事件,要么是collapse事件还会有什么事件呢?
    完全可以用这两个代替啊。
      

  3.   

    哦谢谢,ext.tree的"+"展开图标就只有expand和collapse事件吗?能不能加上click事件?或者还有别的事件?
      

  4.   

    关键是你click不就是为expand或者collapse吗?所以说你的每个click都能用expand或者collapse事件捕捉到,也就没有必要用click了
      

  5.   

    通过使用证明,expand和collapse是不能替代click的。我想实现的效果是每次点击“+”展开下面两层,而用expand会循环跌代触发"expand"事件导致程序报错,很难通过各种判断绕过去。
    还有一个问题:是否有简单的办法 判断当前节点是否有未展开的子节点?如:当前节点有5个子节点,我如何判断这5个节点是否完全展开?谁回答我就给谁结贴
      

  6.   

    展开下面两层不一定非要click事件用expandChildNodes(true)可以展开当前node的所有子节点和子节点的子节点用expandChildNodes(false)可以展开当前node的子节点但不展开子节点的子节点要判断当前节点是否有未展开的子节点的话,似乎没有直接可用的类。要么循环当前所有子节点然后用isExpanded来判断每个子节点是否展开。要么先提前加载一个array,array里的每一项对应一个子节点,初始值为0.在expand子节点时给array的对应项赋值1。最后可根据array里的值判断是否有未展开的子节点其它再简单的办法我就不知道了
      

  7.   

    是否有子节点是你要在后台判断,然后给节点的isleaf属性设置为true和false