ExtJS 3.2:隐藏布局“边框”的中央面板

时间:2012-03-14 13:15:08

标签: javascript layout extjs border extjs3

enter image description here

您好!在我的项目中,我有一个窗口,其结构在图片上描述。由于某些原因,继承自项目的先前版本,我需要创建一个隐藏部分窗口(面板)的函数。如果我隐藏面板C2 - 一切都很好,按照我想要的方式工作,但是如果我隐藏面板C1,其区域为:“center”,则另一个面板不占用区域C1。它看起来像一个bug。

我知道我做错了什么,但我仍然需要某种黑客来隐藏中央面板。

我试图重新分配该区域:“中心”到另一个小组,但它没有用。

test case

2 个答案:

答案 0 :(得分:1)

ExtJS不允许删除边框布局的中心面板。但是,您可以在中心面板中添加和删除项目。

答案 1 :(得分:0)

您的代码存在的问题是您为c2面板指定了固定宽度:

var c1 = new Ext.Panel({
    region: "center",
});                

var c2 = new Ext.Panel({
    region: "east",
    width: 400,
    split: true
});

这会让你的c1面板在隐藏时因为其区域属性而迷失。

使用区域时,通常不设置固定宽度。这将解决你的问题:

var c1 = new Ext.Panel({
    region: "center",
});                

var c2 = new Ext.Panel({
    region: "east",
    width: "100%",
    split: true
});

您现在可以尝试c1.hide();c2.hide(),组件的行为会与预期的一样。