zTree异步加载,官方Demo能显示出所有的节点,我照着做只出来第一层的,为什么?

卡哇伊qingqing 2018-04-22 10:44:10
希望效果: 点击节点就异步加载该节点下的部门名称.如果没有节点就不允许点击.

搞了一周了,晕.异步加载就是不成功.

1: 前台的jsp

<SCRIPT type="text/javascript">
var setting = {
async: {
enable: true,
url:"${pageContext.request.contextPath}/dept/getNodes",
autoParam:["id"],
otherParam:{"otherParam":"zTreeAsyncTest"},
dataFilter: filter
}
};

function filter(treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i=0, l=childNodes.length; i<l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
}

$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting);
});
</SCRIPT>

2: 后台的controller

返回的是:JSON数组.


@RequestMapping("/dept/getNodes")
public @ResponseBody JSONArray getNodes(HttpSession session,
@RequestParam(value="id",required=false) Integer pid,
HttpServletRequest request) {
//第一次查询默认为0
if(pid == null) {
pid = 0;
}
JSONArray resultJson = null;
try {
List<Dept> list = deptService.getNodesByPid(pid);
resultJson = JSONArray.parseArray(JSONArray.toJSONString(list));
} catch (Exception e) {
e.printStackTrace();
}

return resultJson;
}


...全文
617 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
QWERT4745 2018-04-23
  • 打赏
  • 举报
回复
isParent属性有没有设置好?
卡哇伊qingqing 2018-04-23
  • 打赏
  • 举报
回复
谢谢朋友. 点击节点就加载该节点下的部门名称.,所以后台的list不应该是层级的.. 官方Demo的后台不知道是怎么个思路.
QWERT4745 2018-04-23
  • 打赏
  • 举报
回复
我就是这个意思,后台数据没有按照层级构造好就会导致前台认为只有一层,所以文件夹就不显示。 你要打印下后台的list,看是否是树状的,有层级的。
卡哇伊qingqing 2018-04-23
  • 打赏
  • 举报
回复
谢谢楼上的回复. 我的意思是: 1. 第一层可以出来,但是图标不对,应该是<文件夹>的图标,现在是<文件>的图标. 2. 点击第一层后,下面的节点出不来
QWERT4745 2018-04-23
  • 打赏
  • 举报
回复
层级显示失败的原因可能是后台数据没有构造好
卡哇伊qingqing 2018-04-23
  • 打赏
  • 举报
回复
就是这个的原因,搞出来后,感觉一片光明,是那么的简单.没搞出来时感觉一片黑暗.找不到方向.

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧