ext tree中有个expandAll的方法,怎么样知道全部展开完成呢
treeloader里面可以通过url配置tree的数据源,那么在js中怎么样才能得到那个json字符串呢(只加载一次)
ext tree
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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绕地区网络检测