easyUI 트리 메뉴 json 처리
1211 단어 프런트엔드
이스유이가 트리 메뉴를 처리하는 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);
}
});