jQuery MiniUI

 找回密码
 立即注册
查看: 2595|回复: 5
打印 上一主题 下一主题

tree调用addNodes的时候报json is error [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-4-24 10:35:48 |只看该作者 |倒序浏览
后台返回的数据加上isLeaf字段调用addNodes()方法的时候就报json is error的错误,
不加isLeaf字段就不会报错,这是为什么?

Rank: 8Rank: 8

沙发
发表于 2017-4-24 10:52:26 |只看该作者
你isLeaf是false的吧?
我们默认如果是父节点(isLeaf:false),并且真实是没有子节点的,点击展开会默认去加载
不适合你这情况,必须加isLeaf:false的时候,同时加上asyncLoad:false,阻止加载。

Rank: 2

板凳
发表于 2017-4-24 14:33:11 |只看该作者
felt 发表于 2017-4-24 10:52
你isLeaf是false的吧?
我们默认如果是父节点(isLeaf:false),并且真实是没有子节点的,点击展开会默认去加 ...

isLeaf无论是true还是false只要我设置了值就会报错,如果是null的时候,就不会报错

Rank: 8Rank: 8

地板
发表于 2017-4-24 14:53:16 |只看该作者
bianjiang 发表于 2017-4-24 14:33
isLeaf无论是true还是false只要我设置了值就会报错,如果是null的时候,就不会报错 ...

请提供简单例子重现问题

Rank: 2

5#
发表于 2017-4-24 17:45:08 |只看该作者
felt 发表于 2017-4-24 14:53
请提供简单例子重现问题

谢谢,问题解决了,在调用onbeforeexpand方法时把isLeaf属性删掉就不会出现这个问题了。不过还是不知道原因。我把数据单独拎出来测试是没有问题的。
var fun1=function(){
                        var a = {
                                "data": [
                                        {
                                                "asyncLoad": null,
                                                "checked": null,
                                                "isEnabled": null,
                                                "isLeaf": false,
                                                "orgID": "1905976268048386",
                                                "orgName": "校长室",
                                                "parentOrgID": null
                                        },
                                        {
                                                "asyncLoad": null,
                                                "checked": null,
                                                "isEnabled": null,
                                                "isLeaf": false,
                                                "orgID": "1905976268048387",
                                                "orgName": "办公室",
                                                "parentOrgID": null
                                        }
                                ]
                        };

                mini.get("#tree1").loadList(a.data, "orgID", "parentOrgID");
   };
  
  var fun2= function(e){
        var childs = {
                                "data": [
                                        {
                                                "asyncLoad": false,
                                                "checked": null,
                                                "isEnabled": null,
                                                "isLeaf": null,
                                                "orgID": "1905976268064781",
                                                "orgName": "冯春荣",
                                                "parentOrgID": "1905976268048386"
                                        },
                                        {
                                                "asyncLoad": false,
                                                "checked": null,
                                                "isEnabled": null,
                                                "isLeaf": null,
                                                "orgID": "1905976268064780",
                                                "orgName": "吴耀平",
                                                "parentOrgID": "1905976268048386"
                                        }
                                ]
                        }

                        mini.get("#tree1").addNodes(childs.data, e.node);
  };

Rank: 8Rank: 8

6#
发表于 2017-4-25 09:31:13 |只看该作者
bianjiang 发表于 2017-4-24 17:45
谢谢,问题解决了,在调用onbeforeexpand方法时把isLeaf属性删掉就不会出现这个问题了。不过还是不知道原 ...

如果节点的属性是isLeaf:false,那么这个节点就可以点击展开,而你这里并没有数据,所以点击会报错。
你需要设置asyncLoad:false

Archiver|普加软件

GMT+8, 2024-7-5 03:13 , Processed in 1.051280 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部