wuxinmingcs15 2010-12-13 16:14
浏览 254
已采纳

ext tree

ext tree中有个expandAll的方法,怎么样知道全部展开完成呢
treeloader里面可以通过url配置tree的数据源,那么在js中怎么样才能得到那个json字符串呢(只加载一次)

  • 写回答

1条回答 默认 最新

  • cyrilluce 2010-12-13 17:13
    关注

    既然你的树数据[b]只加载一次[/b],也就是说只请求一次根节点,所有的节点数据都一次性全加载下来,那么可以在根节点的expand事件响应后,[b]延后1毫秒执行[/b],这时肯定都展开完毕(前提是未开启动画)。
    因为往后的所有节点加载都是本地进行了,会在一个JS任务内执行完毕,而不像ajax那样设定回调后中止,请求结束后重新执行。延后1毫秒的话,一定会在全部展开后才执行它。
    (参考JavaScript单线程性质及执行队列)
    [code="js"]
    tree.getRootNode().on("expand", function(){}, scope, {single:true, delay:1});
    [/code]

    想要取得那个json字串,只能重写TreeLoader了,稍微扩展下:
    [code="js"]
    var xxx = new Ext.tree.TreePanel({
    ...
    loader : new Ext.tree.TreeLoader({
    handleResponse : function(response){
    // 自己处理response.responseText
    Ext.tree.TreeLoader.prototype.handleResponse.apply(this, arguments);
    }
    }),
    ...
    });
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus
  • ¥15 解决编写PyDracula时遇到的问题
  • ¥15 有没有人能解决下这个问题吗,本人不会编程
  • ¥15 plotBAPC画图出错
  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测