ExtJs TreeLoader的数据格式关于子节点的问题。
现在了解的TreeLoader加载数据子节点都是放在children里面。不知道ExtJs有没有这么和ztree一样类似的pId这样的属性啊?不用children。根据i...
现在了解的TreeLoader加载数据子节点都是放在children里面。
不知道ExtJs有没有这么和ztree一样类似的pId这样的属性啊?不用children。根据id和pid来判断节点和子节点。 展开
不知道ExtJs有没有这么和ztree一样类似的pId这样的属性啊?不用children。根据id和pid来判断节点和子节点。 展开
1个回答
展开全部
TreeLoader在生成节点时会判断数据中的leaf属性,如果为true,则会生成TreeNode,否则生成AsyncTreeNode。TreeNode是不会自动去Ajax取值的。
Ext没有这种根据id,pid判断父子节点。你需要自己拼装JSON。
拼装成这种格式:
[{
id:2,
text:"China",
children:[
{
id:2001,
text:"Guangdong",
children:[
{
id:20011,
text:"Shenzhen",
children:[
{id:200111,text:"Nanshan",leaf:true},
{id:200112,text:"Futian",leaf:true},
{id:200113,text:"Baoan",leaf:true},
{id:200114,text:"Luohu",leaf:true}
]
}
]
}
]
},
{
id:3,
text:"America",
children:[
{id:3001,text:"NewYork",leaf:true}
]
}]
你是否是想从数据库获取数据?数据库有id和pid?
其实你自己组装JSOn也不麻烦。
因为你页面首先显示的是一级节点,所以你第一次查询的就是pid is null的数据。
你在单击某个节点的时候再根据这个节点的id取数据库查询是否有子节点。
Ext没有这种根据id,pid判断父子节点。你需要自己拼装JSON。
拼装成这种格式:
[{
id:2,
text:"China",
children:[
{
id:2001,
text:"Guangdong",
children:[
{
id:20011,
text:"Shenzhen",
children:[
{id:200111,text:"Nanshan",leaf:true},
{id:200112,text:"Futian",leaf:true},
{id:200113,text:"Baoan",leaf:true},
{id:200114,text:"Luohu",leaf:true}
]
}
]
}
]
},
{
id:3,
text:"America",
children:[
{id:3001,text:"NewYork",leaf:true}
]
}]
你是否是想从数据库获取数据?数据库有id和pid?
其实你自己组装JSOn也不麻烦。
因为你页面首先显示的是一级节点,所以你第一次查询的就是pid is null的数据。
你在单击某个节点的时候再根据这个节点的id取数据库查询是否有子节点。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询