`
小鑫。
  • 浏览: 133183 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ExtJs4-Ext.layout.container.Accordion实现左菜单

 
阅读更多
效果图


Js代码
/**
 * 程序主入口
 */
Ext.onReady(function() {
			/**
			 * 上,panel.Panel
			 */
			this.topPanel = Ext.create('Ext.panel.Panel', {
						region : 'north',
						height : 55
					});
			/**
			 * 左,panel.Panel
			 */
			this.leftPanel = Ext.create('Ext.panel.Panel', {
						region : 'west',
						title : '导航栏',
						width : 230,
						layout : 'accordion',
						collapsible : true
					});
			/**
			 * 右,tab.Panel
			 */
			this.rightPanel = Ext.create('Ext.tab.Panel', {
						region : 'center',
						layout : 'fit',
						tabWidth : 120,
						items : [{
									title : '首页'
								}]
					});
			/**
			 * 组建树
			 */
			var buildTree = function(json) {
				return Ext.create('Ext.tree.Panel', {
							rootVisible : false,
							border : false,
							store : Ext.create('Ext.data.TreeStore', {
										root : {
											expanded : true,
											children : json.children
										}
									}),
							listeners : {
								'itemclick' : function(view, record, item,
										index, e) {
									var id = record.get('id');
									var text = record.get('text');
									var leaf = record.get('leaf');
									if (leaf) {
										alert('id-' + id + ',text-' + text
												+ ',leaf-' + leaf);
									}
								},
								scope : this
							}
						});
			};
			/**
			 * 加载菜单树
			 */
			Ext.Ajax.request({
						url : 'MenuTreeServlet',
						success : function(response) {
							var json = Ext.JSON.decode(response.responseText)
							Ext.each(json.data, function(el) {
										var panel = Ext.create(
												'Ext.panel.Panel', {
													id : el.id,
													title : el.text,
													layout : 'fit'
												});
										panel.add(buildTree(el));
										leftPanel.add(panel);
									});
						},
						failure : function(request) {
							Ext.MessageBox.show({
										title : '操作提示',
										msg : "连接服务器失败",
										buttons : Ext.MessageBox.OK,
										icon : Ext.MessageBox.ERROR
									});
						},
						method : 'post'
					});
			/**
			 * Viewport
			 */
			Ext.create('Ext.container.Viewport', {
						layout : 'border',
						renderTo : Ext.getBody(),
						items : [this.topPanel, this.leftPanel, this.rightPanel]
					});
		});


后台返回数据
{success:true,data:[{id:1,text:'我的办公桌',leaf:false,children:[{id:3,text:'二级(1)',leaf:true},{id:4,text:'二级(2)',leaf:true},{id:5,text:'二级(3)',leaf:true},{id:6,text:'二级(4)',leaf:false,children:[{id:7,text:'三级(1)',leaf:true},{id:8,text:'三级(2)',leaf:true}]}]},{id:2,text:'系统管理',leaf:false,children:[{id:9,text:'用户管理',leaf:true}]}]}
4
0
分享到:
评论
1 楼 zhouxiaowen 2011-08-19  
 

相关推荐

    extjs-basex.js

    extjs-basex.js extjs-basex.js extjs-basex.js

    extjs-Ext.ux.form.LovCombo下拉框

    extjs多选下拉框,Ext.ux.form.LovCombo,extjs 以修复多选下拉框火狐下取不到值的问题,火狐下div不显示背景色的问题

    extjs4.1-ux.rar

    4、Ext.ux.toggleslide.ToggleSlide 5、Ext.ux.container.ButtonSegment 6、Ext.ux.grid.plugin.RowEditing 7、Ext.ux.grid.plugin.DragSelector 8、Ext.ux.grid.plugin.SortMenu 9、Ext.ux.grid.plugin....

    extjs extjs-basex.js

    extjs-basex.js extjs-basex.js extjs-basex.js

    ext-4.2.1.883.jsb2

    从spket IDE 官网下载。 文件名: ext-4.2.1.883.jsb2 对应版本ext-4.2.*版本。spket自动提示ExtJs4,需要ext4.2.1.jsp2文件。

    ext 2 简单例子(内附ext-all.css, ext-base.js, ext-all.js三个必不可少的文件)

    ext 是 ExtJs 的简称,是一个强大的js 类库。本资源主要包括三个大的文件ext-all.css,ext-base.js,ext-al.js。在引用ext 类库的时候,这三个文件必不可少。另外我还提供了ext2的一个简单例子,以便大家学习交流。

    EXTJS-4.2.1.883

    EXTJS-4.2.1.883

    ExtJs学习资料28-Ext.data.JsonStore数据存储器.doc

    ExtJs学习资料28-Ext.data.JsonStore数据存储器

    extjs-theme-bootstrap-master.zip

    extjs-theme-bootstrap-master.zip

    ExtJs入门实例

    4. ExtJs2.0学习系列(4)--Ext.FormPanel之第一式 5. ExtJs2.0学习系列(5)--Ext.FormPanel之第二式 6. ExtJs2.0学习系列(6)--Ext.FormPanel之第三式(ComboBox篇) 7. ExtJs2.0学习系列(7)--Ext.FormPanel之第四式(其他...

    ExtJS4.0-API.rar

    ExtJS4.0-API Ext4.0-API Ext4 ExtJS4 API 学EXTJS4的好东西...

    ext-2.2.zip

    在CDH使用oozie 的时候需要安装ext-2.2.zip; 新增和改进的功能包括: 1、FileUploadField 文件上传 体验例子见:http://extjs.com/deploy/dev/examples/form/file-upload.html 2、GMapPanel GMap扩展 体验...

    Extjs 6.2 最新sdk ext-6.2.0-gpl.zip

    官方最新版本Extjs6.2版本sdk,创建新项目的时候需要用, 全面的核心框架,具有最新的Javascript标准支持 新的漂亮组件和主题,以创建漂亮的企业应用程序 现代工具链,用于构建优化,高性能,通用的应用程序 用于可视...

    Extjs3.4+Ext-core.pdf+轻松搞定Extjs.pdf

    Extjs3.4 Ext-core.pdf 轻松搞定Extjs.pdf Extjs学习笔记 里面有3.4的开发包,附属:Ext-core.pdf 轻松搞定Extjs.pdf Extjs学习笔记

    extjs-620-docs.zip

    extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档

    ext-7.0.0-gpl.zip

    ext-7.0.0-gpl.zip

    ExtJs常用布局--layout详解实例代码

    ExtJs常用布局--layout详解实例代码: ExtJs常见的布局方式有:border、form、absolute、column、accordion、table、fit、card、anchor 另外,不常见的布局有:tab、vbox、hbox 具体使用方法可见该文件的案例代码。 ...

    ext-4.2.1-gpl.zip

    ExtJs4环境,不包括例子,太大了没法上传

    extjs-docs-6.0.0-classic.part01.rar

    Ext JS 6最大的变化就是将Ext JS和Touch合并为一个单一的框架。之前的框架的核心(数据、控制器、模型等等)已被调和为一个单一的公共平台。这样,数据和逻辑就能共享,从而帮助开发人员进一步去优化他们的应用程序...

    ext-4.2.0.663 EXTJS官方最新版7z压缩

    ext-4.2.0.663 EXTJS官方最新版7z压缩 为了上传方便,使用了7z极限压缩,解压时请使用7z,以防文件损坏

Global site tag (gtag.js) - Google Analytics