easyUI 實現tree樹形菜單json的處理

今天使用easyUI想完成一個樹形菜單,後臺部分的已經寫好,傳json給前端顯示菜單。

發現easyui處理樹形菜單的json必須按照它自己的格式,但是我後臺的部分已經寫好,又不想也不方便去修改。

發現easyui的tree組件提供了loadFilter方法,此方法可以把後臺傳過來的數據進行過濾,於是我打算在前臺處理json。


這些是我的代碼,只需修改幾處代碼就能實現後臺json轉成easyui規定的json格式了。


//此處是easyui的json格式
var tree = {
	id:'',
	text:'',
	state:'',
	checked:'',
	attributes:'',
	children:''
}
//此處是把後臺傳過來的json數據轉成easyui規定的格式
function bl(item){
	var tree = new Object();
	tree.id = item.id;
	tree.text = item.name;
	tree.state = 'open';
	tree.checked = 'false';
	tree.attributes = item.url;
	if(item.child_menus.length != 0){
		tree.children = jsonbl(item.child_menus);
	}else{
		tree.children = [];
	}
	return tree;
}
function jsonbl(data){
	var easyTree = [];
	$.each(data,function(index,item){
	 easyTree[index] = bl(item);
	 });
	return easyTree;
}
//此處是easyui調用tree組件的方法(使用easyui的童鞋自然懂得,只需修改請求json的api即可)
$('#tt').tree({
 	url: '${pageContext.request.contextPath}/sysmenu/all',
	 loadFilter: function(data){ 
		return jsonbl(data); 
	}
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章