Javascript Ext JS mvc:如何从控制器禁用按钮

Javascript Ext JS mvc:如何从控制器禁用按钮,javascript,model-view-controller,extjs,extjs4,Javascript,Model View Controller,Extjs,Extjs4,我有一个Ext.grid.Panel,它有一个定义如下的按钮 this.buttons = [ { id: 'addInfoBtn', text : 'Add Info', action: 'createinfo' }]; 我想做的是,当屏幕根据我在控制器中接收到的值加载时,启用/禁用此按钮。我在控制器中具有以下功能,该功能正在接收true或false并将禁用值设置为该值 ,isDisabled: fun

我有一个
Ext.grid.Panel
,它有一个定义如下的按钮

 this.buttons = [ {
            id: 'addInfoBtn',
            text : 'Add Info',
            action: 'createinfo'
        }];
我想做的是,当屏幕根据我在控制器中接收到的值加载时,启用/禁用此按钮。我在控制器中具有以下功能,该功能正在接收
true
false
并将禁用值设置为该值

,isDisabled: function() {
        var edit = this.getUrlParams('edit');
        var addInfoBtn = Ext.ComponentQuery.query('#addInfoBtn')[0];
        addInfoBtn.setDisabled(edit);
        console.log(addInfoBtn);
    }
当控制器渲染面板时,将调用此方法

,init: function() {
        this.control({
           'infolist': {
                itemdblclick: this.viewInfo,
                render: this.isDisabled
            }

我可以从控制台看到,
addinfo.setDisabled()
的值已设置为
true
但按钮仍然可以单击,我做错了什么?

是addCommissionBtn=。。。输入错误?此外,您应该谨慎地避免在组件上设置id。itemId和组件查询的可用性不仅不必要,而且如果您有冲突的ID,它们可能会在应用程序中造成巨大的麻烦。抱歉,是的,这是一个输入错误。。。如果我应该避免这样做,那么最好的方法是什么?