在Extjs中获取对itemId的引用

时间:2015-02-20 07:55:42

标签: extjs

我有一个像这样的Window类:

Ext.define('EMS.tf.alerts.alerts.view.AlertWindow', {
    extend: 'Ext.window.Window',
    alias: 'widget.ems-alerts-window',
    height: 220,
    width: 600,
    alertTpl: undefined,
    autoScroll: true,
    selectedRecord: undefined,
    title: undefined,
    atext: undefined,

    // @private
    initComponent: function() {
        var me = this;

        Ext.apply(me, {
            tpl: me.alertTpl,
            listeners: {
            show: function() {
                Ext.create('Ext.Container', {
                    renderTo: 'alertContainer',
                    itemId: 'buttonContainer',
                    items   : [{
                            xtype: 'button',
                            cls: 'ackbtn',
                            text : 'Acknowledge',
                            name: 'ackButton',
                            itemId: 'renderbutton'
                        },{
                            xtype: 'button',
                            cls: 'attchmntbtn',
                            text : 'Attachment',
                            name: 'attButton',
                            itemId: 'renderattachmntbutton'
                        }]
                    });
                }
            },          
            title: me.title
        });
        me.callParent();
    }
});

我想引用按钮"附件"使用itemId" renderattachmntbutton"。怎么做?

我试过了windowobject.down('#renderattachmntbutton')但它仍然无法正常工作。我可以参考init函数之前放置的项目但不是这样的。有什么需要做什么才能引用这个按钮?

4 个答案:

答案 0 :(得分:0)

itemId可以与父项(如容器和面板)上的getComponent()调用一起使用。如果您将容器上的itemId更改为id属性。然后你可以这样找到你的子项:

Ext.getCmp('buttonContainer').getComponent('renderattachmntbutton');

这只是一种可能的方式,还有其他方式!

答案 1 :(得分:0)

该按钮不是窗口的项目(子项),而是按钮容器的项目。如果你想找到它,那么你需要获取对容器的引用并调用它。

而不是

windowobject.down('#renderattachmntbutton') // WRONG

呼叫

buttoncontainer.down('#renderattachmntbutton') // Correct

答案 2 :(得分:0)

你可以尝试

windowobject.down('[itemId=renderattachmntbutton]') ;

答案 3 :(得分:0)

试试这个

Ext.ComponentQuery.query('[itemId=renderattachmntbutton]')[0]