ztree关于子节点问题
@zTree 你好,想跟你请教个问题:
我的ztree初始化如下:
-------**********-------------
var getUrl = "/hlms/menu/getMenuTree";
var zTreeObj = $.fn.zTree
.init(
$("#fmenu"),
{
check : {
autoCheckTrigger : true,
chkStyle : "checkbox",
enable : true
//设置是否显示checkbox复选框
},
data : {
simpleData : {
enable : true,
idKey : "id",
pIdKey : "parentId",
rootPId:null//根
}
},
async : {
autoParam : [ "id" ],
contentType : "application/x-www-form-urlencoded",
enable : true,
type : "post",
url : getUrl,
dataFilter : function ajaxDataFilter(
treeId, parentNode, childNodes) {
var myNode = JSON.parse(childNodes.myJson);
childNodes = myNode.data;
return childNodes;
}
},
callback : {
onAsyncSuccess : function(event,
treeId, treeNode, msg) {
},
}
});
------**********---------
后台获取数据在dataFilter解析后返回的如下:
[{"id":100028,"pId":0,"name":"知识库","isParent":true},{"id":10002,"pId":0,"name":"医废管理","isParent":true},{"id":103857,"pId":0,"name":"巡检管理","isParent":true},{"id":10001,"pId":0,"name":"系统管理","isParent":true},{"id":20002,"pId":0,"name":"维修管理","isParent":true}]
然后页面显示如下:
正常,但是点击父节点获取数据如下,例如点击医废管理:
[{"id":100031,"pId":10002,"name":"医废设备管理","isParent":false},{"id":10002001,"pId":10002,"name":"医废查询","isParent":false}]
但是子节点么有显示,效果如下:
如上图,点击知识库、巡检管理、系统管理也是如此,数据都获取了,但是子节点没有显示。
但是点击维修管理就显示了如下,数据为:
[{"id":20002001,"pId":20002,"name":"维修任务分配","isParent":false}]
效果如下:
我有做了如下测试,改变菜单顺序,无论谁在最后,谁的子节点就能显示,其他则不能。这是异步的情况。
还有非异步情况,同样是哪个父节点在最后,哪个子节点可以显示,其他不能。但是数据都有:非异步情况获取数据如下:
[
{
"id": 100028,
"pId": 0,
"name": "知识库",
"isParent": true,
"children": [
{
"id": 100029,
"pId": 100028,
"name": "知识库管理",
"isParent": false
}
]
},
{
"id": 10002,
"pId": 0,
"name": "医废管理",
"isParent": true,
"children": [
{
"id": 10002001,
"pId": 10002,
"name": "医废查询",
"isParent": false
}
]
},
{
"id": 103857,
"pId": 0,
"name": "巡检管理",
"isParent": true,
"children": [
{
"id": 201706061,
"pId": 103857,
"name": "巡检计划任务模板管理",
"isParent": false
}
]
},
{
"id": 10001,
"pId": 0,
"name": "系统管理",
"isParent": true,
"children": [
{
"id": 100017,
"pId": 10001,
"name": "班组管理",
"isParent": false
}
]
},
{
"id": 20002,
"pId": 0,
"name": "维修管理",
"isParent": true,
"children": [
{
"id": 20002001,
"pId": 20002,
"name": "维修任务分配",
"isParent": false
}
]
}
]
请问哪个地方出的问题,导致如此
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
的确是从来没有人出现过这种情况呀,请你更换 jQuery 版本尝试一下。
另外
1、当你都展开后, 利用 getNodes 方法得到节点数据,看看数据结构是否正常
2、如果数据结构正常,那么去看 dom 结构是否正常
再看看 有木有 js 报错。。。你可以直接操作 zTree 提供的标准Demo,看看是否会出现你的异常情况
@ztree 这是不是个bug,还是jQuery版本的问题?