在使用jquery-easyUI 时,接收后台返回是数据,可能不是官网例子的一个大数组,而是一个对象包含,多个对象,再包含数组:
官网json格式:
[{ "id":1, "text":"Folder1", "iconCls":"icon-save", "children":[{ "text":"File1", "checked":true },{ "text":"Books", "state":"open", "attributes":{ "url":"/demo/book/abc", "price":100 }, "children":[{ "text":"PhotoShop", "checked":true },{ "id": 8, "text":"Sub Bookds", "state":"closed" }] }] },{ "text":"Languages", "state":"closed", "children":[{ "text":"Java" },{ "text":"C#" }] }]
而后台实际返回的json,可能是这样的:
{ "msg": "success", "status":1, "data":[{ "id":1, "text":"Folder1", "iconCls":"icon-save", "children":[{ "text":"File1", "checked":true },{ "text":"Books", "state":"open", "attributes":{ "url":"/demo/book/abc", "price":100 }, "children":[{ "text":"PhotoShop", "checked":true },{ "id": 8, "text":"Sub Bookds", "state":"closed" }] }] },{ "text":"Languages", "state":"closed", "children":[{ "text":"Java" },{ "text":"C#" }] }] }
如何获取到渲染树所需的数据呢,这里用到一个方法loadFilter(返回过滤过的数据进行展示)
$('#treePower').tree({ url:"../jquery-easyui/tree_data3.json", method:"get", animate:true, checkbox:true, loadFilter: function(data){ //返回过滤过的数据进行展示。返回数据是标准树格式。 if (data.data){ return data.data; } else { return data; } } });