我有一些面板(大多数时间网格面板),大多数时间配置没有标题,意味着header: false
。现在我需要设置标题,但我找不到任何想法。那我怎么能这样做呢?
答案 0 :(得分:3)
据我所知,在您选择不创建标题后,这是不可能的。
您可以考虑使用简单的组件,并将其应用于dockedItems
以及相应的weight
。只要您不需要直接访问工具,这可能是完全合适的
或
使用标题定义面板并在显示组件之前隐藏它。我从来没有尝试过,但它应该工作。您可以使用getHeader()
这是一个有效的例子:
Ext.create('Ext.panel.Panel', {
title: 'Hello',
width: 100,
items: [
{
xtype: 'button',
text: 'toggle',
handler: function(btn) {
var header = btn.up('panel').getHeader();
if (header.isVisible())
header.hide();
else
header.show();
}
}
],
renderTo: Ext.getBody()
});
经过一番阅读后,我发现了一种创建标题的方法。可以使用updateHeader(true)
Ext.create('Ext.panel.Panel', {
title: 'Hello',
header: false,
width: 200,
items: [
{
xtype: 'button',
text: 'toggle',
handler: function(btn) {
var panel = btn.up('panel');
if (Ext.isObject(panel.header) && panel.header.isVisible()){
panel.header.hide();
}else if (panel.header === false){
panel.header = true;
panel.updateHeader(true);
}else {
panel.header.show();
}
}
}
],
renderTo: Ext.getBody()
});