我已经定义了我的面板类,我想根据特定的条件来定制它,如下面的伪代码所示:
if (foo =='A') { //Draw only button1 } else { //Draw button1 & button2 }
但是,我不知道如何在MyPanel类中包含这个if语句。第一个我准备了一个小提琴的例子先谢谢你了。
but5z9lq1#
只需在“initComponent”方法中设置header属性,或使用将根据条件返回“header”配置对象的特殊方法。
Ext.define('MyApp.view.MyPanel', { extend: 'Ext.panel.Panel', xtype: 'mypanel', initComponent: function () { foo = this.foo; this.header = { items: [{ xtype: 'button', text: 'button1' }, { xtype: 'button', text: 'button2', hidden: (foo === 'A'), }] }; this.callParent(arguments); }, width: 500, height: 200, });
用特殊方法:
Ext.define('MyApp.view.MyPanel', { extend: 'Ext.panel.Panel', xtype: 'mypanel', initComponent: function () { this.header = this.getMyCustomHeader(); this.callParent(arguments); }, getMyCustomHeader: function () { var customHeader = { items: [{ xtype: 'button', text: 'button1' }, { xtype: 'button', text: 'button2' }] } if (this.foo === 'A') { customHeader = { items: [{ xtype: 'button', text: 'button1' }] } } return customHeader; }, width: 500, height: 200 });
1条答案
按热度按时间but5z9lq1#
只需在“initComponent”方法中设置header属性,或使用将根据条件返回“header”配置对象的特殊方法。
用特殊方法: