jsTree动态加载子节点(lazy loading)

人走茶凉 提交于 2019-12-04 21:38:47

该文前提:已经实现从服务器获取json数据初始化jsTree这一步。

js中初始化jstree

$('#contact-org').jstree({
	                "data" : {
	                    "dataType": 'json',
	                    "url":function(node){
	                    	return ctxPath + "/v-contact?queryOrg";
	                    },
	                    "data":function(node){
	                        return {"id" : node.id};
	                    }
	                }
	            }
}

返回的json数据,对应用于树节点的数据结构:

 {  
	"attr" : {"id":"标示 "},
	"data" :{"title": " 显示的标题 "
           ,"attr":{"href" :"可以自定义一些值,在UI 解析"
                           ,"class": "jstree-search"//可以预先在后台给节点设置样式
				}
              ,"icon":" 图标的地址  "
             }, 
	  "state" : "closed" 或"open",
          "children":[{子节点1},{子节点2}]
}


实现子节点动态加载的关键所在:

返回的数据中将children设置成布尔型true或者false。

当设置成true时,点击该树节点,jstree就会进行一次请求,请求的url和data配置就是初始化jstree中的那些。

当设置成false时,jstree就将该节点当成叶子节点


这样子就实现了jstree的动态加载子节点的功能。





标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!