jstree 没有数据新增时刷新树报错。
报错信息:jstree Cannot read property 'className' of undefined at $.jstree.plugins.wholerow.r
<div id="jstreeArea" class="row"></div>
原因是我在获取树的时候如果没有数据 在 jstreeArea的dom 中替换了暂无数据 。导致jstree中生成的ul没有了, 建议:$("#j1_loading").html("<span class='m p'>暂无数据</span>") 把loding的内容替换成暂无数据。
<div id="jstreeArea" class="row"> </div>
$("#jstreeArea").jstree({
"core": {
"check_callback": true,//设置为true,允许所有的交互和更好的控制(例如增删改)
'data': function (obj, callback) {
$.ajax({
type: "POST",
url: 'admin/product/lists',
data: { 'parentId': 0 },
dataType: "json",
success: function (res) {
if (res.length>0) {
var result = res;
var arrTree = []
for (var i = 0; i < result.length; i++) {
var arr = {
"id": result[i].id,
"parent": result[i].parentId == 0 ? "#" : result[i].parentId,
"name": result[i].name,
"order":result[i].order,
"icon": '__IMAGE__/th-ico.png',
"text": result[i].name+
"<div class='layui-table-tool-temp tooltree'>\
<div class='layui-inline' lay-event='add' >\
<i class='layui-icon layui-icon-add-1 tooltree-ico node_create' ></i></div>\
<div class='layui-inline' lay-event='update' >\
<i class='layui-icon layui-icon-edit tooltree-ico node_rename'></i></div>\
<div class='layui-inline' lay-event='delete' >\
<i class='layui-icon layui-icon-delete tooltree-ico node_delete'></i></div>\
</div>"
}
arrTree.push(arr);
}
callback.call(this, arrTree);
} else {
$("#j1_loading").html("<span class='m p'>暂无数据</span>")
}
}
});
},
},
"plugins": [ "massload","types", "wholerow" ],//状态插件
}).bind("select_node.jstree", function (event, data) {
}).bind("delete_node.jstree", function (event, data) {
//删除节点触发
}).bind("rename_node.jstree", function (event, data) {
//修改节点触发
});