Jos*_*mit 6 javascript extjs extjs4 extjs4.1
我需要在运行时添加一个新创建的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);
Run Code Online (Sandbox Code Playgroud)
我正在使用该add方法添加项目; 但是在运行时菜单项没有任何反应.即使调试显示新项目实际上已添加到itemsMenu实例的配置中.
但是,在运行时使用该remove方法确实有效.
问题:如何在运行时使新添加的MenuItem显示?我错过了什么?
更新:以上代码有效; 我有一个有缺陷的switch语句导致另一个通过逻辑,删除最后创建的menuItem.
评论提升
OP写道
好的我跟踪问题; 我有一个有缺陷的switch语句导致另一个通过逻辑,删除最后创建的menuItem.我仍然会将你的答案标记为正确,因为它也可以(通过传递配置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'});
Run Code Online (Sandbox Code Playgroud)
我不太确定,但根据API的菜单有面板作为默认类型,当你在看菜单,但它似乎是菜单项根据菜单项API
,这可能是一个有点混乱.
| 归档时间: |
|
| 查看次数: |
8323 次 |
| 最近记录: |