日期:2014-05-16 浏览次数:20471 次
Ext.BLANK_IMAGE_URL = 'resources/images/default/s.gif';
Ext.onReady(function(){
Ext.QuickTips.init();
var data = [['value1', 'text1'], ['value2', 'text2'], ['value11', 'text11'], ['value12', 'text12']];
var store = new Ext.data.SimpleStore({
fields: ['value', 'text'],
data: data
});
var panelObj = new Ext.form.FormPanel({
region: 'center',
tbar: [{
xtype: 'tbbutton',
text: '主机能1',
menu: [{
id: 'AAAAAA',
text: '机能1',
handler: menuItemClick
}, {
id: 'BBBBBB',
text: '机能2',
handler: menuItemClick
}, {
id: 'CCCCCC',
text: '机能3',
handler: menuItemClick
}]
}, '-', {
xtype: 'combo',
store: store,
mode: 'local',
triggerAction: 'query',
displayField: 'text',
valueField: 'value'
}, '-', {
xtype: 'tbbutton',
text: '主机能2',
menu: [{
id: 'DDDDDD',
text: '机能1',
handler: menuItemClick
}, {
id: 'EEEEEE',
text: '机能1',
handler: menuItemClick
}, '-', {
id: 'FFFFFF',
text: '机能1',
handler: menuItemClick
}]
}],
items: [{
xtype: 'panel',
id: 'mainContent',
title: '主面板',
contentEl: 'systemShow',
frame: true,
height: 900
}]
});
var viewportObj = new Ext.Viewport({
layout: 'border',
items: [{
region: 'north',
height: 50,
html: 'heads'
}, panelObj, {
region: 'south',
frame: true,
height: 150,
title: 'LOG'
}],
renderTo: Ext.getBody()
});
});
function menuItemClick(item){
var mainPanel = Ext.getCmp('mainContent');
var goalPanel = item.id + "Panel";
mainPanel.setTitle(item.text);
mainPanel.show();
}
我觉得你中间用选项卡tabpanel比较好,可以方便切换。当点击tabpanel的时候,也就是tabpanel中的选项 卡触发激活activeTab事件或show事件的时候,就在你说的log控制台显示消息。只有log控制台的消息是随 tab的点击而动态显示的,当点击菜单的时候,添加一个新panel。当panel存在的时候,会自动将存在的panel显示处理 每次只显示一个tabpanel。将其他的tabpanel隐藏。这样可以做到中间变得其他的不变的目的。 大致思路就这样。
------解决方案--------------------
mainContent面板layout为card,
var goalPanelExtObjRef= new XXXXX({
id:goalPanel
//xxxxx
});
mainPanel.add(goalPanelExtObjRef);
mainPanel.setActiveItem(goalPanel);
------解决方案--------------------
mainPanel.layout.setActiveItem(goalPanelExtObjRef);