按钮没有name 属性 - 您应该咨询documentation 以查看您可以使用哪些配置变量。相反,我会为其分配一个itemId,以便您可以使用up() 和down() 函数,以便从事件处理程序中轻松找到组件层次结构中的项目。
或者如果你想直接找到它,你可以使用以下来查找该项目:
{
text : 'Button',
itemId : 'buttonSelector'
}
var button = Ext.ComponentQuery.query('#buttonSelector');
if(button.length) button[0].disable();
请记住,ComponentQuery 实用程序会返回一组项目(即使您将 itemId 设为唯一)。这是一个简单的fiddle / demonstration。
针对您的评论,对于buttons 配置的实际作用可能存在混淆 - 根据docs,它是以下内容的简写:
dockedItems: [{
xtype: 'toolbar',
dock: 'bottom',
ui: 'footer',
defaults: {minWidth: minButtonWidth},
items: [
{ xtype: 'component', flex: 1 },
{ xtype: 'button', text: 'Button 1' }
]
}]
...这会在层次结构中创建一个额外的“步骤”,您必须在查询中考虑该步骤。例如,如果您的表单具有 formId 的 itemId,您可以尝试以下操作:
Ext.ComponentQuery.query('#formId toolbar #myButtonId')[0].disable();
我已经 updated your fiddle 来证明这一点。