Extjs 自定义共享组件

Extjs 自定义共享组件,extjs,extjs4,extjs3,Extjs,Extjs4,Extjs3,在本例中,我相信items属性已复制到类的原型中。 允许面板在应用程序中使用的多个容器中对其项具有自定义行为的良好编程实践是什么 我们使用的是Ext3.4x我假设您只想添加更多项,而不需要覆盖预定义的 Ext.define('RevenuePanel', { extend: 'Ext.panel.Panel', items: [ .......... Ext.create('Ext.button.Button', {text: 'Button'}) ] });

在本例中,我相信items属性已复制到类的原型中。
允许面板在应用程序中使用的多个容器中对其项具有自定义行为的良好编程实践是什么


我们使用的是Ext3.4x

我假设您只想添加更多项,而不需要覆盖预定义的

Ext.define('RevenuePanel', {     extend: 'Ext.panel.Panel',
items: [ 
..........        
Ext.create('Ext.button.Button', {text: 'Button'})     ] 
}); 
Ext.define('RevenuePanel', {     
    extend: 'Ext.panel.Panel',
    initComponent: function(){
        var me = this,
            newItems = me.items,
            defaultItems, items;
        // apply your default items
        defaultItems = [{xtype:'button', text:'Button'}];
        // check if there are new items defined for this instance
        if(typeof newItems != 'undefined') {
            items = defaultItems.concat((newItems instanceof Array ) ? newItems : [newItems]);
        } else {
            items = defaultItems;
        }
        // override the items
        me.items = items;

        me.callParent(arguments);
    }

});