Extjs4 Extjs:动态地将项目添加到循环按钮

Extjs4 Extjs:动态地将项目添加到循环按钮,extjs4,Extjs4,我使用extjs创建了一个循环按钮。在生成时,我向该循环按钮添加了三个菜单项,以下是代码: Ext.create('Ext.button.Cycle'{ id:'trneMapCycleBtn', showText:true, 弹性:2, 工具提示:“单击此处更改边界”, prependText:“”, 菜单:{ id:“视图类型菜单”, 项目:[{ 正文:‘地区’, 核对:对, tootip:“德里地区边界”, 类型:“getDistricts” }, { 案文:“国家”, tootip:“德

我使用extjs创建了一个循环按钮。在生成时,我向该循环按钮添加了三个菜单项,以下是代码:

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({...}));