日期:2014-05-16 浏览次数:20401 次
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);