2015-04-22 91 views
1

早安全部,ExtJS TabItem Click Event

我有一個ExtJS 5 tabpanel。當tabpanel第一次出現時,裏面有一個標籤的星形標籤。我需要的是當用戶點擊這個星形來創建一個新的tabItem。我嘗試了激活事件,但只適用於多個選項卡。我也嘗試綁定到一個點擊事件,沒有發生。下面是代碼我現在有:

{ 
       xtype:'tabpanel', 
       itemId:'tabCtr1', 
       width:785, 
       items:[ 
        { iconCls: 'btn-NewTab', html : 'A simple tab' } 
       ] 
      } 

function assetDetailsDialog_AfterRender(sender, eOpts) 
{ 
    parent.down('tabpanel').items.getAt(0).on('click', function(){ 
      alert('Hello World'); 
     }); 
} 

謝謝大家

遵循問題:

我有設置活動選項卡多了一個問題

。當按鈕被點擊時,它會創建新的選項卡不成問題,但是當我調用setActiveTab時,它看起來什麼也不做。當我在Chrome中通過它時,我可以看到它實際上將選項卡更改爲指定的選項卡,但將其切換回原始選項。任何幫助都會很棒。有任何想法嗎?

回答

4

我已經創建了一個fiddle,演示瞭如何在點擊時動態添加選項卡,下面列出了代碼以防鏈接中斷。在下面的代碼中,顯著的是將監聽到tabConfig

Ext.application({ 
    name: 'Fiddle', 

    launch: function() { 
     var tabPanel = Ext.create('Ext.tab.Panel', { 
      width: 800, 
      height: 400, 
      renderTo: document.body, 
      items: [{ 
       title: 'Click me to add another tab', 
       tabConfig: { 
        listeners: { 
         click: function(tab) { 
          alert("Adding another tab"); 
          var newTab = tabPanel.add({ 
           // we use the tabs.items property to get the length of current items/tabs 
           title: 'Tab ' + (tabPanel.items.length + 1), 
           html: 'Another one' 
          }); 
         } 
        } 
       } 
      }, { 
       title: 'Bar', 
       tabConfig: { 
        title: 'Custom Title', 
        tooltip: 'A button tooltip' 
       } 
      }] 
     }); 
    } 
}); 

大部分代碼是從文檔here

+0

該工作就像驚人的拍攝。我搜索了一個小時,並找不到插孔。那正是我需要的。 最後一個問題。你知道如何將上下文菜單添加到標籤項目標題嗎? – Josh

+0

我從來沒有做過,所以我不知道。有一個內置插件可以添加一個關閉的上下文菜單,您應該可以使用它,請參閱以下鏈接:http://try.sencha.com/extjs/4.0.7/examples/tabs/tabs-adv/viewer .html和http://docs.sencha.com/extjs/5.0.1/#!/api/Ext.ux.TabClos​​eMenu – Scriptable

+0

我在設置活動選項卡時遇到了另外一個問題。當按鈕被點擊時,它會創建新的選項卡不成問題,但是當我調用setActiveTab時,它看起來什麼也不做。當我在Chrome中通過它時,我可以看到它實際上將選項卡更改爲指定的選項卡,但將其切換回原始選項。任何幫助都會很棒。有任何想法嗎? – Josh