2013-05-14 22:39题主

如下图将panel21的hidden设置为true,运行时报错!但不影响运行,设置为false或者为空时正常,不知何故?





2013-05-15 09:17#1
你需要把模块导出后上传出来,才能知道具体原因
2013-05-15 10:35#2
viewport1是不是border布局,panel2和panel21的region属性一样造成冲突?
2013-05-15 19:26#3
组织结构.xwl
2013-05-15 19:58#4
经查,原因是tree11的root设置为:{text:'组织机构',S_ID:-1,expanded:true}(容器默认是hidden模式隐藏)造成。
因为在容器不可见(hidden)时,是能对树执行expand操作的。
解决方法:
1、tree11的root设置为:{text:'组织机构',S_ID:-1,expanded:false},然后在tree11.renderer事件里tree11.expand();
2、panel21的hideMode属性设置为offsets;
3、panel21在加载完后隐藏。
。。。
以上方法任选一种即可解决。
2013-05-15 20:26#5
谢谢了,回复真及时啊!
2013-05-15 21:58#6
还是有点问题
第1种方法:设置tree11改为{text:'组织机构',S_ID:-1,expanded:false}后,panel21设置成hidden,没有报错了,但tree11.expand()执行了没有效果,不能展开输。
第2种方法:设置panel21的hideMode为offsets仍然报错,设置tree11的父容器panel11的该属性则没有报错。
第3种方法:panel21的afterrender中执行tree11.hide()无效果。
2013-05-16 09:32#7
这些方法经测试都没问题,你需要结合你应用的上下文来实现,如第3种方法是指当treeStore加载完后再隐藏,并非panel21的afterrender事件。只要了解ExtJS的加载机制,你可以灵活运用各种方法来实现。

返回开发者社区