扩展菜单插入带有覆盖的新项目
Extjs Menu insert new items with override
>我有一个菜单,定义如下:
Ext.define('MyApp.FileBrowserContextMenu', {
extend: 'Ext.menu.Menu',
initComponent: function() {
var me = this;
Ext.applyIf(me, {
items: [
{
xtype: 'menuitem',
text: 'Edit',
listeners: {
click: {
fn: me.onMenuitemClick,
scope: me
}
}
},
]
});
me.callParent(arguments);
},
onMenuitemClick: function(item, e, options) {
var server = this.record;
var win = Ext.create('widget.ServerWindow', {
record: server
});
win.show();
}
});
我想在定义后添加新项目,所以我尝试这样做:
首先,我定义了新的 MenuItem:
Ext.define('MyApp.GitMenuItem', {
extend: 'Ext.menu.Item',
alias: 'widget.gitmenuitem',
text: 'Git',
initComponent: function() {
var me = this;
Ext.applyIf(me, {
menu: {
xtype: 'menu',
items: [
{
xtype: 'menuitem',
text: 'Commit',
listeners: {
click: {
fn: me.onMenuitemClick,
scope: me
}
}
},
]
}
});
me.callParent(arguments);
},
onMenuitemClick: function(item, e, options) {
},
});
然后我尝试附加新的菜单项:
Ext.override(MyApp.FileBrowserContextMenu, {
initComponent: function () {
var me = this;
this.callParent();
me.items.items.push(Ext.create('widget.gitmenuitem'));
}
});
它似乎有效,因为出现了新的菜单项,但是当我过去时,应该会出现新项,但我收到此错误:
未捕获的类型错误:无法设置未定义的属性"活动子项"
有什么想法吗?
通常的方法是 add 方法:menu.add(menuItem)
。
相关文章:
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- Redux处理新项目和id
- JQuery Masonry.Ajax图标和“;加载新项目”;绳子放错地方了
- Ng-Repeat在末尾添加新项目
- AngularJs/GitHub :如何在没有任何历史记录的情况下将角度种子克隆到我的新项目中
- 每天从数组中挑选新项目
- 将jquery插件应用于angularJS ng repeat中的新项目
- 如何在Protractor测试中覆盖新的Date()
- 使用新项目更新KendoUI网格数据源
- AngularJS ForEach将新项目推送到对象中
- 在 SharePoint 2010 上创建“添加新项目”按钮
- id:在续集中创建新项目时为空
- Javascript - 覆盖新的 Date() 行为以抵消 GMT
- 新项目的所有列表项弹出窗口在悬停时立即显示 - Javascript
- AngularJS:插入新项目后对列表重新排序
- 扩展菜单插入带有覆盖的新项目
- 如何将新项目添加到 srt 文件中
- 如何在火狐中覆盖新标签页
- 为什么覆盖后项目位置会搞砸
- 如何在 JQGRID 新项目弹出窗口中应用 OnKeyUp 方法