Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ExtJS:在运行时向菜单实例添加新菜单项_Javascript_Extjs_Extjs4_Extjs4.1 - Fatal编程技术网

Javascript ExtJS:在运行时向菜单实例添加新菜单项

Javascript ExtJS:在运行时向菜单实例添加新菜单项,javascript,extjs,extjs4,extjs4.1,Javascript,Extjs,Extjs4,Extjs4.1,我需要在运行时添加一个新创建的菜单项;因此,我的代码目前看起来像: var myMenu = myCmp.query('mymenu')[0]; // retrieve my only Menu object var menuItem = Ext.create('Ext.menu.Item', { itemId: 'myItemId', text: 'textGoesHere' }); myMenu.add(menuItem); 我正在使用添加项;但是菜单项在运行时没有发生任何变化。即

我需要在运行时添加一个新创建的菜单项;因此,我的代码目前看起来像:

var myMenu = myCmp.query('mymenu')[0]; // retrieve my only Menu object
var menuItem = Ext.create('Ext.menu.Item', {
    itemId: 'myItemId', text: 'textGoesHere'
});
myMenu.add(menuItem);
我正在使用添加项;但是菜单项在运行时没有发生任何变化。即使调试显示新项实际上已添加到菜单实例的配置中

但是,在运行时,使用会起作用

问题:如何在运行时显示新添加的菜单项?我错过了什么


更新:上述代码有效;我有一个有缺陷的switch语句,导致再次通过逻辑,删除了上次创建的menuItem。

注释弹出

OP写道


好的,我跟踪问题;我有一个有缺陷的switch语句 导致再次通过逻辑,删除上次创建的 menuItem。尽管如此,我还是会把你的答案标记为正确的 (通过传递配置对象)


此示例适用于:

var menu = Ext.create('Ext.menu.Menu', {
   width: 100,
   height: 100,
   floating: false,  // usually you want this set to True (default)
   renderTo: Ext.getBody(),  // usually rendered by it's containing component
   items: [{
       text: 'icon item',
       iconCls: 'add16'
   },{
       text: 'text item'
   },{
       text: 'plain item',
       plain: true
   }]
});

menu.add({text:'test'});

我不太确定,但根据API,当您查看时,菜单的默认类型是panel,但根据
这可能有点混乱。

您是否尝试仅应用配置?也许有虫子?基本上,这应该是开箱即用的,不需要任何额外的调用。@sra我同意你的看法,它应该是开箱即用的。“仅应用配置”是什么意思?谢谢。我发布了一个有效的例子。如果您需要其他信息/帮助,请告诉我确定我跟踪问题;我有一个有缺陷的
switch
语句,它导致再次通过逻辑,删除了上次创建的menuItem。尽管如此,我还是会将你的答案标记为正确的(通过传递config obj)。@sra你能更新答案,在顶部说OP的答案按原样工作吗?第一次来到这里时,我没有读到这些评论,我开始了一场白费力气的追逐,试图在作为配置对象添加的菜单项上强制进行即时渲染。为了澄清这一点,OP的方法确实起了作用。