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,它们可能会在应用程序中造成巨大的麻烦。抱歉,是的,这是一个输入错误。。。如果我应该避免这样做,那么最好的方法是什么?