2015-09-10 2 views
0

У меня есть tabpanel in view makemoney.js. и я хочу написать код в моем контроллере addtab.js. но я столкнулся с ошибкой в ​​моей хром-консоли.Получите мой компонент tabpanel, но can not используйте add для добавления вкладки

и я обнаружил, что возвращаемый тип Ext.ComponentQuery.query ('itemId') [0] является компонентом, но метод добавления tabpanel должен сделать container.add контейнером. Это - причина. Right, что я могу изменить

мой makemoney.js код:

Ext.define('ylp2p.view.makemoney',{ 
extend: 'Ext.Panel', 
xtype: 'makemoney', 
requires: [ 
    'Ext.Toolbar', 
    'Ext.tab.Panel' 
], 

config:{ 
    layout: 'vbox', 
    items:[ 
     { 
      xtype: 'toolbar', 
      docked: 'top', 
      title: '111' 
     }, 
     { 
      xtype: 'tabpanel',//-----here is my tappanel 
      itemId: 'tabfirst', 
      flex: 1, 
      tabBar: { 
       layout: { 
        pack: 'center' 
       } 
      } 
     } 
    ] 
} 
}); 

и мой код контроллера:

Ext.define('ylp2p.controller.addtab',{ 
extend: 'Ext.app.Controller', 
launch: function(){ 
    var moneytab = Ext.ComponentQuery.query('.makemoney #tabfirst')[0]; 
    //i think i get the component alerdy 
    var myPanel = Ext.create('Ext.Panel', { 
     html: 'This will be added to a Container' 
    }); 
    //and write a panel 
    moneytab.add([myPanel]); 
    //make the panel into the tap.i dont why it not work 
} 
}); 

моя консоль в хроме положить ошибку:

Uncaught Error: [ERROR][Ext.Container#doAdd] Adding a card to a tab container without specifying any tab configuration 

ответ

1

Он будет работать

var moneytab = Ext.ComponentQuery.query('makemoney #tabfirst')[0]; 
    var myPanel = Ext.create('Ext.Panel', { 
     html: 'This will be added to a Container', 
     title: 'Yourtitle' 
    }); 
    //and write a panel 
    moneytab.add(myPanel); 
+0

Я попробовал раньше. он скажет: «Неиспользуемая ошибка: [ОШИБКА] [Ext.Container # doAdd] Добавление карты в контейнер табуляции без указания какой-либо конфигурации вкладки – chen

+0

Согласно вашей информации, я редактировал свой код. Вы можете использовать это. –

1

Ваш селектор неисправен, это является причиной ошибки.

var moneytab = Ext.ComponentQuery.query('.makemoney #tabfirst')[1];

moneytab = undefined;

Используйте вместо этого:

var moneytab = Ext.ComponentQuery.query('tabpanel #tabfirst')[0];

+0

я есть попробовать раньше. он скажет: «Неиспользуемая ошибка: [ERROR] [Ext.Container # doAdd] Добавление карты в контейнер табуляции без указания какой-либо конфигурации табуляции – chen

Смежные вопросы