2
哪些是擴展/子類組件的正確方法?子類Ext JS組件的正確方法是什麼?
Ext.define('Holidays.Components.UserInfo', {
extend: 'Ext.panel.Panel',
alias: 'widget.UserInfo',
region: 'west',
split: true,
title: 'Categories',
width: 300,
collapsible: true,
layout: 'border',
animCollapse: false,
initComponent: function() {
var me = this;
Ext.apply(me, {
items: [{
xtype: 'panel',
region: 'center',
border: false
}, {
xtype: 'panel',
title: 'Tab 2',
region: 'south',
collapsible: true,
height: 200
}, ]
});
me.callParent(arguments);
}
});
或者這樣:
Ext.define('Holidays.Components.UserInfo', {
extend: 'Ext.panel.Panel',
alias: 'widget.UserInfo',
initComponent: function() {
var me = this;
Ext.apply(me, {
width: 300,
collapsible: true,
layout: 'border',
animCollapse: false,
region: 'west',
split: true,
title: 'Categories',
items: [{
xtype: 'panel',
region: 'center',
border: false
}, {
xtype: 'panel',
title: 'Tab 2',
region: 'south',
collapsible: true,
height: 200
}, ]
});
me.callParent(arguments);
}
});
當我使用的第一個版本,像這樣
this.userPanel = Ext.create("Holidays.Components.UserInfo");
我的面板上有動畫colapsed的時候,我得到奇怪的佈局行爲創建我的類的實例。
我可以在define中設置哪些屬性,以及我必須在initComponent中設置哪些屬性?
我會嘗試創建更多的實例,然後看看會發生什麼。我現在正在重寫整個佈局,但我始終都是初學者並且一直在學習,所以我想知道什麼纔是最佳實踐,才能正確開始:) – Misiu
從頭開始重寫組件。我不知道爲什麼,但現在它完美:) – Misiu