使用dojo下Menu和PopupMenuItem实现动态菜单
来源:互联网 发布:淘宝美即面膜怎么样 编辑:程序博客网 时间:2024/05/22 02:07
昨天早上来公司上班,上头抛给我一个加急任务,一个动态菜单的配置与实现。我想了想,类似功能很常见,并且在现已有的系统中已经有了一种模式的展现。
最开始,从已有系统中找到了一个右键菜单的功能实现,主要使用了dijit.Menu和dijit.MenuItem通过嵌套组合的方式来实现层级的菜单功能。但是后来通过观察发现,这一对标签的使用,需要结合页面是的dom标签。所以找了一下,发现在Dojo中simple example中,已经提供了一个封装的比较成熟的控件dijit.form.ComboButton ,按照例子代码所示,只有dijit.Menu和dijit.MenuItem实现不了多层级菜单的功能,需要引入dijit.PopupMenuItem作为一级菜单拓展二级菜单的一个标识。简单来说,若想拓展一个菜单,就在外面写一个PopupMenuItem标签,里边写好完整的Menu和MenuItem标签。复杂的菜单结构就需要通过嵌套这几个标签就ok啦。
具体如下:
<div data-dojo-type="dijit.Toolbar"> <div data-dojo-type="dijit.form.ComboButton" > <span>${resourceBundle.functionMenu}</span><span data-dojo-type="dijit.Menu"><span data-dojo-type="dijit.PopupMenuItem"><span>${resourceBundle.unifyReceive}</span><span data-dojo-type="dijit.Menu"><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_systemReceive'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.systemReceive}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_importReceive'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.importReceive}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_documentReceiveProcess'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.documentReceiveProcess}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_technologyReview'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.technologyReview}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_archiveReceiveProcess'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.archiveReceiveProcess}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_receiveRecordSearch'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.receiveRecordSearch}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_receiveRecordStatistics'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.receiveRecordStatistics}</span></span></span><span data-dojo-type="dijit.PopupMenuItem"><span>${resourceBundle.documentDistribte}</span><span data-dojo-type="dijit.Menu"><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_documentDistributionManage'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.documentDistributionManage}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_distributionFormManage'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.distributionFormManage}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_documentNotice'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.documentNotice}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_documentRecycle'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.documentRecycle}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_departmentDocumentReceive'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.departmentDocumentReceive}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_departmentDocumentSubmit'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.departmentDocumentSubmit}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_departmentDocumentDistribute'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.departmentDocumentDistribute}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_distributionRecordSearch'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.distributionRecordSearch}</span><span data-dojo-type="dijit.MenuItem" data-dojo-props="id: '${id}_distributionRecordStatistics'" data-dojo-attach-event="onClick: _onMenuClick">${resourceBundle.distributionRecordStatistics}</span></span></span>
<帮助> http://dojotoolkit.org/api/
- 使用dojo下Menu和PopupMenuItem实现动态菜单
- 使用Smooth Navigational Menu实现动态菜单
- Struts Menu动态菜单
- 动态创建Menu 菜单
- dojo实现一个菜单
- 使用 Dojo 创建动态曲线图和图表
- Menu菜单的实现
- 实现二级Menu菜单
- Ext:Ext.menu.Menu动态加载菜单
- Ext.menu.Menu动态生成的菜单
- 动态菜单之treeview和menu的属性介绍
- WPF使用menu菜单
- Android Menu菜单使用
- Menu 菜单的使用
- Menu菜单的使用
- 菜单的使用Menu
- menu菜单的使用
- Menu菜单的使用
- Dijistra算法模版
- android直接读取项目中的sqlite数据库
- log4j.xml配置
- 优化网络连接的五个技巧
- ubuntu下虚拟机的设置及Android开发
- 使用dojo下Menu和PopupMenuItem实现动态菜单
- Windows Phone开发(6):处理屏幕方向的改变
- 我的vim配置[ ctags + cscope + omni == 多图、强大、详解 ]
- Android内容观察者--ContentObserver
- 生活在ring3和ring0的Native API
- java.lang.IllegalArgumentException: the bind value at index 1 is null
- IT资源分类大全
- Android很有用的代码片段
- android用ksoap2调用.net的webservice传参数,服务器接收为空的情况