jstree 异步加载 默认只能解析固定格式的返回值 利用回调来处理服务器返回的数据,
-
默认只能解析固定格式的返回值
$('#red-ui-networktree-body')
.jstree({
"plugins": ["contextmenu", "search", "json_data", "sort", "themes"],
'core': {
'data': {
"url": networktreeurl,
"data": function (node) {
return { "archive": "archive1", "reference": node.id };
},
"success": function (nodes) {
callBackBuildingSpaceTree(nodes);
}
}}, "sort": function (prevEle, currentEle) { }, "contextmenu": { // disable the context menu, the "contextmenu" plugin is only "items": {} // needed for the context menu / right click event }, "themes": { "theme" : "default", "dots" : true, "icons": true }, }).on('ready.jstree', function (e, data) { renderOSPoint(); }).on("open_node.jstree", function (e, data) { renderOSPoint(); });
-
利用回调来处理服务器返回的数据, 默认只能解析固定格式的返回值
$('#red-ui-networktree-body')
.jstree({
"plugins": ["contextmenu", "search", "json_data", "sort", "themes"],
'core': {
'check_callback': true,
'data': function (node, callback) {
console.log("node",node)
$.ajax({
type: "GET",
headers:{"archiveName":"Test1",'content-type': 'application/x-www-form-urlencoded'},
//url:networktreeurl+"?reference=" + (node.id === '#' ? '' : node.id),
url:networktreeurl,
dataType:"json",
async: false,
data: {"reference": node.id === '#' ? '' : node.id},
success: function (resp) {
console.log("data",resp.data)
let res = [];
for (let i = 0; i < resp.data.length; i++) {
res.push({});
res[i].id = resp.data[i].reference;
res[i].text = resp.data[i].name;
res[i].children = resp.data[i].hasChild; //设置children = true/false 展开该节点 自动异步加载子节点
//res[i].a_attr = {title: data[i].description};let iconItem = gObjectIcons[resp.data[i].classId]; if(!iconItem){ iconItem = gObjectIcons['-1']; } res[i].icon = iconItem.icon //'origin_Analog' } callback.call(this, res); } }); }, }, "sort": function (prevEle, currentEle) { //var dataOfprevEle = this.get_node(prevEle).data //var dataOfcurrentEle = this.get_node(currentEle).data //if (dataOfprevEle && dataOfcurrentEle) { // if (dataOfprevEle.type === 'device' && dataOfcurrentEle.type === 'device') { // return this.get_node(prevEle).data.sort > this.get_node(currentEle).data.sort // ? 1 // : -1; // } //} }, "contextmenu": { // disable the context menu, the "contextmenu" plugin is only "items": {} // needed for the context menu / right click event }, "themes": { "theme" : "default", "dots" : true, "icons": true }, }).on('ready.jstree', function (e, data) { //console.log('ready.jstree'); renderOSPoint(); }).on("open_node.jstree", function (e, data) { //console.log('open_node.jstree',data); renderOSPoint(); }).on("select_node.jstree", function (e, data) { //console.log("select_node.jstree",data); });