我有两个表单,在第一个表单我有button1:
Buttons[{
width: 350,
text: 'Book',
name:'button1'}]
在第二种形式我有button2,当按钮点击在第二种形式,然后按钮在第一种形式禁用,之前我使用按钮的id (id:'button1'),并使此:
Ext.getCmp('button1').setDisabled(true);
,但现在我在组件中删除ID和使用名称。但我不知道如何禁用button1的名字!
按钮没有name
属性-您应该查阅文档以查看您可用的配置变量。相反,我将分配它一个itemId
,这样您就可以利用up()
和down()
函数,以便从事件处理程序中轻松找到组件层次结构中的项目。
或者,如果你想直接找到它,你可以使用以下命令查找项目:
{
text : 'Button',
itemId : 'buttonSelector'
}
var button = Ext.ComponentQuery.query('#buttonSelector');
if(button.length) button[0].disable();
请记住,ComponentQuery
实用程序返回一个项目数组(即使您使itemId
唯一)。这是一个简单的小提琴/演示。
在回应你的评论,可能有关于什么buttons
配置实际做混淆-根据文档它是以下简写:
dockedItems: [{
xtype: 'toolbar',
dock: 'bottom',
ui: 'footer',
defaults: {minWidth: minButtonWidth},
items: [
{ xtype: 'component', flex: 1 },
{ xtype: 'button', text: 'Button 1' }
]
}]
…这会在层次结构中创建一个额外的"步骤",您必须在查询中考虑到这个步骤。例如,如果您的表单有一个itemId
formId您可以尝试这样做:
Ext.ComponentQuery.query('#formId toolbar #myButtonId')[0].disable();
我已经更新了你的小提琴来演示这个