我需要一些帮助才能在Viewport的“北”面板中插入图像。
问题是,在页面加载时,北区域的大小设置为默认值:20px。结果,只有一部分图像可见。我希望它根据图像高度进行调整。
但是当我点击分割面板时,它会根据图像的大小进行调整(在加载时似乎有些渲染问题?)
以下是ext js代码..使用Ext Js 5.0
Ext.create('Ext.container.Viewport', {
renderTo: Ext.getBody(),
layout: 'border',
items: [
{
region: 'north',
html: '<img src="..." alt="" />',
border: false,
margin: '0 0 0 0',
},{
region: 'center',
xtype: 'tabpanel', // TabPanel itself has no title
activeTab: 0, // First tab active by default
items: {
title: 'Contents',
html: 'The first tab\'s content. Others may be added dynamically'
}
}
]
});
提前致谢!
答案 0 :(得分:0)
第一个问题是,当您使用边框布局时,需要的项目很少:
有关详细信息,请参阅doc。
因此我将面板更改为hbox
,使用flex: 1
设置主容器并添加一些逻辑以确保在加载图像时更新容器的布局以修复它的高度。
下面的代码,希望它有所帮助:
Ext.create('Ext.container.Viewport', {
renderTo: Ext.getBody(),
layout: 'vbox',
items: [
{
border: false,
margin: '0 0 0 0',
items : [{
xtype : 'image',
src : 'http://cdn.sencha.io/img/touch2/Sencha-SDK-Tools-icon.png',
listeners : {
boxready : function (component) {
component.getEl().on('load', function(){
component.ownerCt.updateLayout();
});
}
}
}],
layout: {
type: 'anchor'
}
},{
flex: 1,
xtype: 'tabpanel', // TabPanel itself has no title
activeTab: 0, // First tab active by default
items: {
title: 'Contents',
html: 'The first tab\'s content. Others may be added dynamically'
}
}
]
});