我有一个extjs按钮“Order”,按钮的菜单项'orderInsuranceMenu'。我需要隐藏依赖于某些条件的菜单项。我怎么能得到它
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')隐藏();
答案 0 :(得分:3)
您可以使用按钮的方法setDisabled来实现此目的。即:
Ext.getCmp('btnMenu2').setDisabled(true);
如果您想对菜单中的所有项目应用此功能,您可以执行以下操作:
Ext.getCmp('menu-order-insurance').items.each(function(item) {
if (item.isXType('button')) {
item.setDisabled(true); // your condition here
}
});
答案 1 :(得分:2)
<强> Soloution:强>
在Extjs 2.2中,没有方法可以使用isVisible来显示或隐藏菜单项 因此,经过大量挖掘和检查萤火虫后,我发现的最终解决方案是隐藏或显示具体项目,如下所示
extManager.orderInsuranceMenu.items.items[1].hide();
orderInsuranceMenu.items.items[1].show();
答案 2 :(得分:1)
您可以在菜单项中使用2.2中提供的setVisible
方法。 http://i.stack.imgur.com/kdw7f.png
如果出于某些原因无效,我会从菜单中删除该项目,然后在需要时将其添加回菜单。