您好!在我的项目中,我有一个窗口,其结构在图片上描述。由于某些原因,继承自项目的先前版本,我需要创建一个隐藏部分窗口(面板)的函数。如果我隐藏面板C2 - 一切都很好,按照我想要的方式工作,但是如果我隐藏面板C1,其区域为:“center”,则另一个面板不占用区域C1。它看起来像一个bug。
我知道我做错了什么,但我仍然需要某种黑客来隐藏中央面板。
我试图重新分配该区域:“中心”到另一个小组,但它没有用。
答案 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()
,组件的行为会与预期的一样。