Extjs4 Extjs:动态地将项目添加到循环按钮
我使用extjs创建了一个循环按钮。在生成时,我向该循环按钮添加了三个菜单项,以下是代码:Extjs4 Extjs:动态地将项目添加到循环按钮,extjs4,Extjs4,我使用extjs创建了一个循环按钮。在生成时,我向该循环按钮添加了三个菜单项,以下是代码: Ext.create('Ext.button.Cycle'{ id:'trneMapCycleBtn', showText:true, 弹性:2, 工具提示:“单击此处更改边界”, prependText:“”, 菜单:{ id:“视图类型菜单”, 项目:[{ 正文:‘地区’, 核对:对, tootip:“德里地区边界”, 类型:“getDistricts” }, { 案文:“国家”, tootip:“德
Ext.create('Ext.button.Cycle'{
id:'trneMapCycleBtn',
showText:true,
弹性:2,
工具提示:“单击此处更改边界”,
prependText:“”,
菜单:{
id:“视图类型菜单”,
项目:[{
正文:‘地区’,
核对:对,
tootip:“德里地区边界”,
类型:“getDistricts”
}, {
案文:“国家”,
tootip:“德里州边界”,
类型:“GetState”
},{
文字:'圆圈',
tootip:“德里圈边界”,
类型:“getCircles”
}]
},
创建后,我将使用其id访问此循环按钮,并尝试向其中添加菜单项
函数createItemForGeoJason(){
var menuItem=new Ext.menu.CheckItem({
文本:geoJsonLayerName,
id:‘Geojsonim’,
处理程序:函数(menuItem){
var layer=map.getLayersByName(myTrendMapSelectedLayer);
图层[0]。设置可见性(false);
var layer1=map.getLayersByName(geoJsonLayerName);
第1层[0]。设置可见性(true);
}
});
Ext.getCmp('view-type-menu').add(menuItem);
}
您必须覆盖添加菜单项,因为Button类没有添加功能。请尝试以下操作:
Ext.getCmp('view-type-menu').menu.add(menuItem);
这样使用:
testButton.menu.add({
xtype: "menucheckitem",
text: "some text",
group: testButton.id, // important!
checkHandler: testButton.checkHandler, // important!
scope: xBtnChartCase // important!
});
而不是:
testButton.menu.add(new Ext.menu.CheckItem({...}));