我有一个像这样的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函数之前放置的项目但不是这样的。有什么需要做什么才能引用这个按钮?
答案 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]