在项目中,突然出现这样的需求:
1.顶层节点一次性全部给出;
2.子节点延迟加载;
3.数据格式需要严格遵守厂商的规格;
一看厂商的规格,,果然如此,跟JSTree默认的格式差了不少,这样就需要手动处理jstree的AJAX请求,核心代码如下:
$('#jstree').jstree({
'core' : {
'data' : function(obj, cb) {
// 获取节点数据信息
let id = obj.id;
// 处理根节点
if(id === '#') {
// 请求节点数据
$.getJSON('users', {id : id}, function(datas) {
cb.call(this, datas.data)
})
} else {
// 请求节点数据
$.getJSON('users',{id : id},function(datas) {
cb.call(this, datas.data)
})
}
}
}
})
经测试,完全满足接口需求。