2013-06-12 23 views
0

我只是想知道...我會在控制器中定義一個'ref',並且會有幾個對象符合這個'ref'的標準,我能夠檢索兩者都與'getter'方法?Refs - 一個'ref'很少的對象

作爲例子下面的代碼(控制器):

Ext.define('aBMin.controller.EmailRead', { 
extend : 'Ext.app.Controller', 

config : { 
    control : { 
     emailViewSubmit : { 
      tap : 'funEmailViewSubmit' 
     }, 
     emailViewSubmitCreateTicket : { 
      tap : 'funEmailViewSubmitCreateTicket' 
     } 
    }, 
    refs : { 
     emailViewPanel : 'emailread-panel' 
     ,ticketViewPanel : { 
      selector : 'ticketview-panel', 
      xtype : 'ticketview-panel', 
      autoCreate : true 
     } 
     ,dashboardPanel : 'dashboard-panel' 
     ,emailViewSubmit : 'button[action="emailViewSubmit"]' 
     ,emailViewSubmitCreateTicket : 'button[action="emailViewSubmitCreateTicket"]' 
     ,ticktViewStaff : 'selectfield[alias=ticketview-supportstaffid]' 
     ,ticketViewSubmit : 'button[action="ticketViewSubmit"]' 
     ,emailBody : 'displayfield[name="emailbody"]' 
    } 

視圖(上應注意 - 2個按鈕與所述相同的動作= emailViewSubmitCreateTicket):

items : [{ 
      xtype : 'button', 
      text : 'Create Ticket', 
      action : 'emailViewSubmitCreateTicket', 
      ui : 'confirm', 
      width : '100%', 
      hidden : true, 
      margin : '0 0 2px' 
     }, { 
      xtype : 'button', 
      text : 'Save', 
      action : 'emailViewSubmit', 
      ui : 'confirm', 
      width : '100%', 
      margin : '0 0 2px'   
     }, { 
      xtype : 'button', 
      text : 'Create Ticket', 
      action : 'emailViewSubmitCreateTicket', 
      ui : 'confirm', 
      width : '100%', 
      hidden : true, 
      margin : '0 0 2px' 
     } 

和由 '吸氣劑'功能我的意思是爲前。

glob.getEmailViewSubmitCreateTicket().setHidden(false); 

這會影響他們或只是一個?正如我測試過的 - 這隻會影響一個。任何想法如何做到這一點,但我想要的是一次影響2個按鈕。

回答

1

refs只能返回找到的第一個實例。如果您需要獲取所有實例,請使用內部使用的Ext.ComponentQuery

排序的這個應該這樣做

Ext.Array.each(
    Ext.ComponentQuery.query('button[action=emailViewSubmitCreateTicket]'), 
     function(item){ 
      item.setHidden(false); 
    }); 
+0

感謝名單,我會用此溶液去,裁判都更優雅thaugh。 –

相關問題