Button EXT js按钮菜单项禁用
我有一个extjs按钮“Order”,按钮的菜单项为“orderInsuranceMenu”。我需要根据某些条件隐藏菜单项。我怎样才能做到呢Button EXT js按钮菜单项禁用,button,extjs,menu,hide,Button,Extjs,Menu,Hide,我有一个extjs按钮“Order”,按钮的菜单项为“orderInsuranceMenu”。我需要根据某些条件隐藏菜单项。我怎样才能做到呢 orderInsuranceMenu = { id: 'menu-order-insurance' ,items: [ { id:'btnMenu1', text: 'Test Buton1', iconCls: 'icon-cls',
orderInsuranceMenu = {
id: 'menu-order-insurance'
,items: [
{
id:'btnMenu1',
text: 'Test Buton1',
iconCls: 'icon-cls',
listeners: {
click: function(b,e){
//some code goes here
}
}
}
,{
id:'btnMenu2',
text: 'Test Buton2',
iconCls: 'icon-first-title',
listeners: {
click: function(b,e){
//Some code here
}
}
}
]
};
Order = new Ext.Button({
text: 'Order '
, iconCls: 'icon-go'
, disabled: true
, menu: orderInsuranceMenu
, handler: function() {
}
});
我已尝试过此代码,但它不起作用:
Ext.getCmp('btnMenu2').hide() 您可以通过按钮的方法实现这一点。即:
Ext.getCmp('btnMenu2').setDisabled(true);
如果要将此应用于菜单中的所有项目,可以执行以下操作:
Ext.getCmp('menu-order-insurance').items.each(function(item) {
if (item.isXType('button')) {
item.setDisabled(true); // your condition here
}
});
您可以通过按钮的方法实现这一点。即:
Ext.getCmp('btnMenu2').setDisabled(true);
如果要将此应用于菜单中的所有项目,可以执行以下操作:
Ext.getCmp('menu-order-insurance').items.each(function(item) {
if (item.isXType('button')) {
item.setDisabled(true); // your condition here
}
});
您可以在菜单项中使用2.2中提供的
setVisible
方法
如果由于某种原因无法正常工作,我会从菜单中删除该项,然后在需要时将其重新添加到菜单中。您可以在菜单项中使用2.2中提供的
setVisible
方法
如果由于某种原因无法使用,我会从菜单中删除该项,然后在需要时将其重新添加到菜单中。Soloution: 在ExtJS2.2中,没有使用isVisible显示或隐藏菜单项的方法 因此,在大量挖掘和检查firebug之后,我发现的最终解决方案是隐藏或显示特定项目,如下所示
extManager.orderInsuranceMenu.items.items[1].hide();
orderInsuranceMenu.items.items[1].show();
Soloution: 在ExtJS2.2中,没有使用isVisible显示或隐藏菜单项的方法 因此,在大量挖掘和检查firebug之后,我发现的最终解决方案是隐藏或显示特定项目,如下所示
extManager.orderInsuranceMenu.items.items[1].hide();
orderInsuranceMenu.items.items[1].show();
我实际上想隐藏按钮。我试图通过使用上述代码进行破坏,即使它不起作用。我实际上是使用EXT 2.2来隐藏某些东西,您可以使用该按钮的方法。setVisible([bool])。但是,我不确定如何在上面的示例中创建菜单。什么是“extManager”?您在哪里运行逻辑来设置按钮可见?它是在您尝试访问它时创建的吗?@Jemsworld不认为在2.2和4.0之间对该代码有任何相关更改。extManager是我们项目中使用的名称空间。实际上,我在声明时删除了extmanager,但忘了在菜单中删除它。将其视为菜单:OrthRealEngCurnMeNuu。代码可以显示带有菜单项的按钮。但是我无法隐藏菜单项。正如您所说,setVisible/setDisable函数在extmanager 2.2中不可用。这是API链接。你能提供任何其他的解决方案来隐藏菜单项会很有帮助。我实际上想隐藏按钮。我试图通过使用上面的代码来破坏,即使它不起作用。我实际上是使用EXT 2.2来隐藏一些东西,你可以使用方法。setVisible([bool])来隐藏按钮。但是,我不确定如何在上面的示例中创建菜单。什么是“extManager”?您在哪里运行逻辑来设置按钮可见?它是在您尝试访问它时创建的吗?@Jemsworld不认为在2.2和4.0之间对该代码有任何相关更改。extManager是我们项目中使用的名称空间。实际上,我在声明时删除了extmanager,但忘了在菜单中删除它。将其视为菜单:OrthRealEngCurnMeNuu。代码可以显示带有菜单项的按钮。但是我无法隐藏菜单项。正如您所说,setVisible/setDisable函数在extmanager 2.2中不可用。这里是API链接,请您提供任何其他解决方案来隐藏菜单项将非常有帮助