2013-03-17 2 views
1

Я хотел бы создать tabpanel, чтобы он открывался, когда я нажимаю кнопку. я могу создать его в окно, как так:Extjs 4.1 - Как создать tabpanel без окна или контейнера?

var window = new Ext.Window({ 
      id: 'item1', 
      closable: true, 
      floating: true, 
      collapsible: true, 
      width: 900, 
      height: 600, 
      autoScroll: true, 
     items : mytabpanel 

}).show(); 

, но мне интересно, как я могу сделать это без окна? кажется, что шоу() не работает с tabpanel.

ответ

1

Я не совсем уверен, чего вы пытаетесь достичь, предполагая, что ваш код для создания панели вкладок правильный, и я не понимаю, почему ваш код не работает.

Если вы не хотите отображать панель вкладок в окне, вы всегда можете отобразить ее в фактическом элементе DOM, используя свойство renderTo. , например.

Ext.create('Ext.tab.Panel', { 
      width: 400, 
      height: 400, 
      renderTo: document.getElementById('component'), 
      items: [{ 
       title: 'Foo' 
      }, { 
       title: 'Bar', 
       tabConfig: { 
        title: 'Custom Title', 
        tooltip: 'A button tooltip' 
       } 
      }] 
     }); 

Где «компонент» является идентификатор элемента контейнера (например, DIV) в вашей HTML странице. Если вы вызываете это в событии onclick кнопки, надеюсь, он должен делать то, что вам нужно.

+0

В этом случае контейнер не будет плавающим над правом страницы? он будет помещен в фиксированное место на странице (например, под основной панелью) – Noon

+0

Он появится там, где будет определен компонент DIV. Если это плавающий компонент, то он отобразит его там. Если он находится под document.body, то он будет отображаться там. Это будет полностью зависеть от HTML вашей страницы. –

+0

я вижу. Большое спасибо! – Noon

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