Во-первых, вам не нужно переопределять initComponent только для предоставления настроек по умолчанию.Это будет работать так же, и будет проще:
var obj = Ext.extend(Ext.Panel,{
layout:'card',
itemId:'contactDetails',
border:false,
activeItem:0,
tbar: new Ext.Toolbar({
items:[{text:'New'},{text:'Edit',id:'editButton'}]
})
});
(поцарапайте мой предыдущий ответ, я неправильно прочитал ваш код.)
Это также может решить вашу проблему - поскольку вы переопределяете initComponentв вашем коде вы должны вызывать суперкласс initComponent в вашем методе, иначе все не будет работать.При переопределении initComponent вашего кода вы должны делать следующее:
initComponent: function(){
Ext.apply(this,{
layout:'card',
itemId:'contactDetails',
border:false,
activeItem:0,
tbar: new Ext.Toolbar({
items:[{text:'New'},{text:'Edit',id:'editButton'}]
})
});
obj.superclass.initComponent.apply(this, arguments);
}
Кроме того, вы по какой-то причине переопределяете существующий метод Panel.load()
?Или вы пытаетесь добавить какую-то другую функциональность и по ошибке выбрали имя существующего метода?
EDIT : Должен был заметить это раньше, но конфигурация tbar
недоступна после рендеринга какдействительное свойство.Из документов для tbar: «Чтобы получить доступ к верхней панели инструментов после рендеринга, используйте getTopToolbar »