• 12、手把手教你Extjs5(十二)执行菜单命令在tabPanel中显示模块


    上面设计好了一个模块的主界面,下面通过菜单命令的执行来把这个模块加入到主界面当中。在MainModule.js中有一个函数,生成了当前的菜单数据:

    // 根据data.systemMenu生成菜单条和菜单按钮下面使用的菜单数据
    getMenus : function() {
        var items = [];
        var menuData = this.get('systemMenu'); // 取得定义好的菜单数据
        Ext.Array.each(menuData, function(group) { // 遍历菜单项的数组
            var submenu = [];
            // 对每一个菜单项,遍历菜单条的数组
            Ext.Array.each(group.items, function(menuitem) {
                submenu.push({
                    mainmenu : 'true',
                    moduleName : menuitem.module,
                    text : menuitem.text,
                    icon : menuitem.icon,
                    glyph : menuitem.glyph,
                    handler : 'onMainMenuClick' // MainController中的事件处理程序
                })
            })
            var item = {
                text : group.text,
                menu : submenu,
                icon : group.icon,
                glyph : group.glyph
            };
            items.push(item);
        })
        return items;
    }

    其中的  handler : 'onMainMenuClick',就是在点击了菜单以后,去执行 MainController.js中的onMainMenuClick 函数。修改一下MainController.js 文件,先引入Module.js

    uses : ['app.view.module.Module'], 

    再修改里面的函数:

    // 选择了主菜单上的菜单后执行
    onMainMenuClick : function(menuitem) {
        var maincenter = this.getView().down('maincenter');
                
        maincenter.setActiveTab(maincenter.add({
            xtype : 'modulepanel',
            closable : true,
            reorderable : true
        }));
    }
    
    

    这样每单击一次菜单,都会生成一个Module,并把他放到tabPanel之中去。

    下面再看看tabPanel之中的另一个功能,在tab上点右键,会有一个弹出式菜单。

    eckm5gui

    这里面有一些功能可以使用,可关闭,表示当前tab可以被关掉,在名字上方有一个X,如果取消可关闭,X就会消失,另外登录时自动打开和最多打开的功能现在还没做好。

  • 相关阅读:
    IntelliJ IDEA 2020.1.1中java web项目的配置
    Js查漏补缺10-数组、栈、队列、回调函数等
    Js查漏补缺09-this对象
    Js查漏补缺08-闭包
    Js查漏补缺07-匿名函数应用到的框架
    Js查漏补缺06-匿名函数的用法
    Js查漏补缺05-函数
    Js查漏补缺04-Object类型
    Js查漏补缺03-循环结构
    Runnabler
  • 原文地址:https://www.cnblogs.com/niejunchan/p/4996936.html
Copyright © 2020-2023  润新知