我正在寻找我想做的事情的示例或暗示如何做。 我想从 Sencha Touch 2 视口(viewport)的一侧创建菜单,然后创建菜单 将此菜单替换为其他菜单。当我打电话时
Ext.Viewport.setMenu(menu, {
side: 'left'
});
它工作正常,但在我使用其他菜单调用 setMenu 后,新附加菜单将替换旧菜单,这就是想法。但是当我想返回其他菜单时,问题就出现了。有没有办法将旧菜单的实例保留在某处?我只是不想再次重新创建以前的菜单。我尝试用容器替换第二个菜单,但它不像菜单那么灵活。
最佳答案
我无法重现您的问题。我写了一个 Fiddle 并创建了 3 个菜单。我显示和隐藏它们没有任何问题。我什至可以使用 Ext.Viewport.down()
选择菜单。
代码来自Sencha Fiddle :
var menu1 = Ext.create('Ext.Menu', {
itemId: 'menu1',
items: [{
text: 'MenuItem 1',
iconCls: 'settings'
}]
});
var menu2 = Ext.create('Ext.Menu', {
itemId: 'menu2',
items: [{
text: 'MenuItem 2',
iconCls: 'compose'
}]
});
var menu3 = Ext.create('Ext.Menu', {
itemId: 'menu3',
items: [{
text: 'MenuItem 3',
iconCls: 'star'
}]
});
Ext.application({
name: 'Fiddle',
launch: function() {
var me = this,
menuus = new Array(menu1, menu2, menu3);
me.showMenu(menu1);
Ext.defer(function() {
me.showMenu(menu2);
}, 1000);
Ext.defer(function() {
me.showMenu(menu3);
}, 2000);
Ext.defer(function() {
me.showMenu(menu1);
}, 3000);
Ext.defer(function() {
var menuFromViewport = Ext.Viewport.down('#menu2');
me.showMenu(menuFromViewport);
}, 4000);
},
showMenu: function(menu) {
Ext.Viewport.hideMenu('left');
Ext.Viewport.setMenu(menu, {
side: 'left'
});
Ext.Viewport.showMenu('left');
}
});
关于javascript - 同侧的两个菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32638061/