我使用了 split: true
,直到我遇到以下情况才有效:
centerContent = new Ext.Panel
({
layout: 'border',
split:true,
stateful:true,
border:false,
items:
[
{
region:'center',
margins:'0 0 0 0',
autoScroll:true,
split: true,
items:
[
{
region: 'north',
height: 250,
minSize: 150,
frame:false,
border:false,
layout:'fit',
items: blah
},
{
title:'Graph',
region:'south',
margins:'0 0 0 0',
collapsible: true,
split:true,
frame:false,
border:false,
height: 500,
minSize: 250,
layout:'fit',
items: anotherBlah
}
]
}
]
});
我试图在任何地方放置 split: true
,但仍然没有结果。为了说明这段代码的结果,我附上了一张图片:
北部地区没有标题,但它呈现给item: blah
。从图片中可以看出,南部地区的标题为“图表”。我希望能够在必要时从北方分割/拖拽南部地区。但这种“拆分工具”不会出现。
你知道我错过了什么吗?
答案 0 :(得分:1)
您无法在同一容器中进行边框布局和自动滚动。原因是边框布局将其子组件适合可用空间,因此它们永远不会溢出。
因此,为了实现您想要的目标,您需要一个具有固定高度的内部容器(以便它溢出其父级)在具有autoScroll
的容器中。然后将边框布局应用于该内部容器。
示例(jsFiddle):
Ext.widget('container', {
renderTo: Ext.getBody()
// the 300px container contains a 500px child: it will scroll
,width: 300
,height: 300
,autoScroll: true
,items: [{
xtype: 'container'
,height: 500
// the 500px container has border layout
,layout: 'border'
,items: [{
// you are required to have a center region, so use center and south
title: 'Center'
,region: 'center'
,height: 200
},{
title: 'South'
,region: 'south'
,split: true
,height: 300
}]
}]
});