热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

extjs中怎样实现动态主菜单的简单介绍

本文目录一览:1、ExtJS中怎样实现动态主菜单

本文目录一览:


  • 1、ExtJS中怎样实现动态主菜单


  • 2、关于Extjs中 gridpanel里我想实现动态的行浮动菜单


  • 3、关于extjs的问题,extjs的导航菜单问题


  • 4、extjs导航面板里面菜单动态生成的怎么做


  • 5、Extjs中如何使用数据库中的数据,创建动态菜单

ExtJS中怎样实现动态主菜单

Ext.Ajax.request({

//后台请求数据

url: 'xxx.php',

success: function (response){

var data = Ext.decode(response.responseText);

//创建空的工具条

var MenuBar = Ext.create('Ext.toolbar.Toolbar');

for(var i=0;ilt;data.length;i++){

var Menu = data[i];

MenuBar.add({

text: Menu.text

handler: 跳转页面函数,一般要传参

});

}

MenuBar.doLayout();

});没有亲测过,也许会有点问题,遇到了再追问吧

关于Extjs中 gridpanel里我想实现动态的行浮动菜单

tip是干啥的啊,就是提示呗,是放在目标上出来的一行提示 。。。 鼠标放tip上有什么用?

想不消失就把目标的mouseout截了啊

恩,浮动菜单可以的,往里加呗

关于extjs的问题,extjs的导航菜单问题

Ext.menu.Menu 对象里的ITEM 有两种类型。1,Ext.menu.Item。2,Ext.menu.Menu的嵌套

你说的3级菜单就是Ext.menu.Menu+Ext.menu.Menu+Ext.menu.Item的嵌套。

具体用add方法添加。

部分代码如下:

var hmenu_copy = new Ext.menu.Menu();

hmenu_copy.add({

text:'level2',

//scope: this,

iconCls:'x-group-by-icon',

menu:[

{text:'level3',handler: },

]

});

由于是项目截码,具体自己加其他环境。还有问题请追加

extjs导航面板里面菜单动态生成的怎么做

ajax请求后台,然后遍历返回结果,每个结果new 一个item,添加到menu就好了

Extjs中如何使用数据库中的数据,创建动态菜单

登录验证 , 然后 将你的菜单返回 , 格式无所谓 , 只要你最后能从JS中解析出来

将菜单加到一个toolbar上

设置菜单的事件

//下面是简单的摘子目前用的的一个例子

/**

 *顶部菜单

 */

Ext.define('XRS.page.bar.Top', {

    extend: 'Ext.toolbar.Toolbar',

    dock: "top",

    border: "1 0 2 0",

    initComponent: function () {

        var me = this;

        //这里是对菜单进行解析 , 因为我从后台返回来的是 列表 , 而不是一个树 , 所以需要解析成 菜单的格式

        //参数$Admin.getMainMenu() 这个是从后台饭回来的数据的一个简单包装 , 在下面我一个样本

var mainMenu = this.parseMenu($Admin.getMainMenu());

me.items = mainMenu;

        this.callParent();

    } , 

    //解析成菜单格式的数据

    parseMenu: function (menus) {

        var me = this;

        if (!(menus  menus.length  0)) return false;

        //根据parentid生成树

        var map = {};

        var rs = [];

        Ext.each(menus, function (n) {

            n.id = "mainmenu_" + n.id;

            n.text = n.name;

            //这里是设置点击事件的 , 通过bind , 不需要设置scope

            n.handler = Ext.bind(me.onClick, me);

            //下面的只是生成一个菜单的数据格式

            map[n.id] = n;

            //如果找到父节点

            if (map["mainmenu_" + n.parentid]) {

                var pn = map["mainmenu_" + n.parentid];

                if (!pn.menu) {

                    pn.hideOnClick = false;

                    pn.menu = {

                        items: []

                    };

                }

                if (n.isSeparator == "1") n.xtype = "menuseparator";

                pn.menu.items.push(n);

            } else {

                if (n.isSeparator == "1") n.xtype = "tbseparator";

                rs.push(n);

            }

        }, this);

        return rs;

    },

    //这是一个点击事件

    onClick: function (menu, e) {

        if (!menu) return;

        //可以任意设置事件

        alert(menu.text);

        //this.fireEvent('moduleclick', menu, 'menu');

    }

});

//下面是个返回的菜单数据样本 , 是个列表

        "mainMenu": [

        {

            "$id": "14",

            "id": 53,

            "name": "基础信息",

            "code": "",

            "menutype": null,

            "module": "",

            "moduleConfig": "          ",

            "method": "          ",

            "isWindow": null,

            "url": null,

            "iconCls": "ico_baseinfo",

            "parentid": 1,

            "path": "1,53",

            "ix": 24,

            "privilege": "6",

            "isSeparator": 0,

            "xtype": null,

            "disabled": null,

            "noprivilege": 0

        },

        {

            "$id": "35",

            "id": 54,

            "name": "系统代码管理",

            "code": "",

            "menutype": null,

            "module": "XRS.baseinfo.code.List",

            "moduleConfig": "          ",

            "method": "          ",

            "isWindow": null,

            "url": null,

            "iconCls": "ico_code",

            "parentid": 53,

            "path": "1,53,54",

            "ix": 1,

            "privilege": "7",

            "isSeparator": 0,

            "xtype": null,

            "disabled": null,

            "noprivilege": 0

        },

        {

            "$id": "36",

            "id": 55,

            "name": null,

            "code": null,

            "menutype": null,

            "module": null,

            "moduleConfig": null,

            "method": null,

            "isWindow": null,

            "url": null,

            "iconCls": null,

            "parentid": 53,

            "path": "1,53,55",

            "ix": 2,

            "privilege": "7",

            "isSeparator": 1,

            "xtype": null,

            "disabled": null,

            "noprivilege": 0

        },

        {

            "$id": "37",

            "id": 57,

            "name": "部门机构",

            "code": "",

            "menutype": null,

            "module": "XRS.baseinfo.organization.List",

            "moduleConfig": "          ",

            "method": "          ",

            "isWindow": null,

            "url": null,

            "iconCls": "ico_org",

            "parentid": 53,

            "path": "1,53,57",

            "ix": 3,

            "privilege": "8",

            "isSeparator": 0,

            "xtype": null,

            "disabled": null,

            "noprivilege": 0

        },

        {

            "$id": "38",

            "id": 58,

            "name": "用户",

            "code": "",

            "menutype": null,

            "module": "XRS.baseinfo.user.List",

            "moduleConfig": "          ",

            "method": "          ",

            "isWindow": null,

            "url": null,

            "iconCls": "ico_user",

            "parentid": 53,

            "path": "1,53,58",

            "ix": 4,

            "privilege": "9",

            "isSeparator": 0,

            "xtype": null,

            "disabled": null,

            "noprivilege": 0

        },

        {

            "$id": "39",

            "id": 59,

            "name": "角色",

            "code": "",

            "menutype": null,

            "module": "XRS.baseinfo.role.List",

            "moduleConfig": "          ",

            "method": "          ",

            "isWindow": null,

            "url": null,

            "iconCls": "ico_role",

            "parentid": 53,

            "path": "1,53,59",

            "ix": 5,

            "privilege": "10",

            "isSeparator": 0,

            "xtype": null,

            "disabled": null,

            "noprivilege": 0

        }]


推荐阅读
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
  • 本文介绍如何通过 JavaScript 实现一个基于鼠标坐标的 Tooltip 弹出层,详细解释了如何获取窗口和文档的尺寸及滚动位置,并优化了代码结构。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 本文介绍如何使用阿里云的fastjson库解析包含时间戳、IP地址和参数等信息的JSON格式文本,并进行数据处理和保存。 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 尽管使用TensorFlow和PyTorch等成熟框架可以显著降低实现递归神经网络(RNN)的门槛,但对于初学者来说,理解其底层原理至关重要。本文将引导您使用NumPy从头构建一个用于自然语言处理(NLP)的RNN模型。 ... [详细]
  • 本文将深入探讨如何在不依赖第三方库的情况下,使用 React 处理表单输入和验证。我们将介绍一种高效且灵活的方法,涵盖表单提交、输入验证及错误处理等关键功能。 ... [详细]
  • 本文详细探讨了如何在Docker环境中实现单机部署Redis集群的方法,提供了详细的步骤和配置示例,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 基于JQuery实现的评分插件
    本文介绍了一个使用JQuery创建的交互式评分控件。当用户将鼠标悬停在星星上时,左侧的星星会变为实心,右侧保持空心,并显示对应的评分等级;移开鼠标后,所有星星恢复为空心状态。 ... [详细]
  • 本文详细探讨了JavaScript中的作用域链和闭包机制,解释了它们的工作原理及其在实际编程中的应用。通过具体的代码示例,帮助读者更好地理解和掌握这些概念。 ... [详细]
  • JavaScript 中创建对象的多种方法
    本文详细介绍了 JavaScript 中创建对象的几种常见方式,包括对象字面量、构造函数和 Object.create 方法,并提供了示例代码和属性描述符的解释。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
author-avatar
梧桐树信息科技
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有