gpt4 book ai didi

javascript - ExtJS:在运行时向 Menu 实例添加新的 MenuItem

转载 作者:数据小太阳 更新时间:2023-10-29 05:23:35 26 4
gpt4 key购买 nike

我需要在运行时添加一个新创建的 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);

我正在使用 add method添加项目;但是在运行时菜单项没有任何反应。尽管调试显示新项目实际上已添加到 items菜单实例的配置。

使用 remove method但是在运行时确实有效。

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

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

最佳答案

评论提升

OP 写道

OK I track the issue down; I had a flawed switch statement that was causing another pass through the logic, removing the last created menuItem. Still I'll mark your answer as correct as it works as well (by passing the config obj).


这个例子有效:

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,当您查看 menu 时,菜单将面板作为默认类型但它似乎是根据 menuitem API 的菜单项
这可能有点令人困惑。

关于javascript - ExtJS:在运行时向 Menu 实例添加新的 MenuItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12422476/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com