cat_rat
2012-03-14 16:12
浏览 191
已采纳

extjs desktop 多级菜单的快捷方式问题

用的事ext2.0下面的desktop,在做多级菜单的快捷方式的时候遇到一个问题,开始菜单式动态拼出来的,官方例子中只有一级的快捷方式,修改了一下Desktop.js[code="java"]

shortcuts.on('click', function(e, t){
if(t = e.getTarget('dt', shortcuts)){
e.stopEvent();
var module = app.getModule(t.id.replace('-shortcut', ''));
if(module){
module.createWindow();
}
//---多级菜单快捷方式--
else

{

var rm = e.getTarget('dt', shortcuts).attributes.rmid.value;//对应的rmid 根菜单module id

                    var rmmodule = app.getModule(rm);

                var str = t.id.replace('-shortcut', '');  
                var temp=Ext.getCmp(str);//获取本菜单对象

                rmmodule.createWindow(temp);

            }
           //---多级菜单快捷方式--
        }
    });

[/code]
现在的问题是,在第一次点击桌面图标时是可以弹出window,但是关闭window后,第二次点击图标时,会报temp为undefined, var temp=Ext.getCmp(str);//获取本菜单对象这里获取不到值,第一调用的时候是可以获取到值的,求大神帮看一下哪里出了问题

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • suziwen 2012-03-14 21:39
    已采纳

    你Ext.getCmp(str)获取到的对像是不是在关闭或隐藏时采用的是destroy(销毁方式,就是把他对应的dom信息删除而不是隐藏),如果是这样的话,下次打开进肯定要重新构造一个,而不是通过Ext.getCmp(str)这样的方式获得

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • suziwen 2012-03-15 09:32

    你这id是怎么给他取的?

    var str = t.id.replace('-shortcut', '');

    评论
    解决 无用
    打赏 举报
  • suziwen 2012-03-15 12:44

    你那个window是怎么new出来的,代码贴下看看,还有就是你怎么确定这个window在隐藏后不是销毁动作呢

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题