日期:2014-05-16  浏览次数:20370 次

ExtJS4 根据登录后不同的角色分配不同的树形菜单

继续我的上一篇,设置好cookie后,将他们取出来

var userName = Ext.util.Cookies.get('userName');
var userAuthority =	 Ext.util.Cookies.get('userAuthority');//0,1,2
接下来就可以用了

//树形菜单根据不同权限显示
var treeUrl='../store/ccTree'+userAuthority+'.json';


var treeStore = Ext.create('Ext.data.TreeStore', {
   
	proxy:{
				type:'ajax',
				url:treeUrl
			}
});

我的树形菜单从本地读取,名字分别为ccTree0.json~ccTree2.json


建立树形菜单的时候只要用这个treeStore就行了,下面省略了部分代码

//树形菜单

var menuTree=Ext.create('Ext.tree.Panel', {
   // title: 'Simple Tree',
    width: 200,
    height: 650,
	useArrows:true,
    store: treeStore,//在这里引用
    rootVisible: false,
    renderTo: Ext.getBody(),
	listeners:{
	   itemclick: function(view,rec,el,index,e) { 
	  // alert(rec.id);
	   if(rec.raw.id=="01"){//对点了第一个的操作,其他类似


下面贴下json的内容以供参考

[                   
					 {id:"01",text:"第一个",expanded:false,leaf:true,"children":[
					     
					 ],url:'login.html'},
					  {id:"02",text:"第二个",expanded:true,"children":[
					      {id:"021",text:"第三个",leaf:true},
						  {id:"022",text:"第四个",leaf:true}
						  
					 ]},
					  {id:"03",text:"第五个",expanded:true,"children":[
					      {id:"031",text:"第六个",leaf:true},
						  {id:"032",text:"第七个",leaf:true}
						
					 ]}
					  

]



以上只是我自己想出来的一种实现用户分类的方法。。。有更好的方法请留言。。谢谢