0

我只是想知道......我是否会在控制器中定义一个'ref'并且将有很少的对象匹配这个'ref'的条件,我可以使用'getter'方法检索两者吗?

例如下面的代码(控制器):

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 个按钮。

4

1 回答 1

1

refs 只能返回一个实例,它是找到的第一个实例。如果您需要获取所有实例,请使用Ext.ComponentQuery内部使用的。

应该这样做

Ext.Array.each(
    Ext.ComponentQuery.query('button[action=emailViewSubmitCreateTicket]'), 
        function(item){
            item.setHidden(false);
    });
于 2013-06-12T15:15:06.477 回答