zTree utilise le code principal de JQuery pour implémenter un ensemble de plug-ins Tree qui peuvent compléter les fonctions les plus courantes
Chargement asynchrone signifie : lorsque vous cliquez pour développer le nœud de l'arborescence, demandez à l'action en arrière-plan de renvoyer les données du nœud enfant du nœud cliqué et de le charger.
Ici, nous concevons principalement le paramètre d'attribut asynchrone de la variable de paramètre de ztree :
var setting = { async: { enable: true, url:InitServiceIpsData.action, autoParam:[id, name], dataFilter: filter },
Lorsque vous cliquez pour développer le nœud de l'arborescence, l'action spécifiée par l'URL sera demandée pour obtenir les données du nœud enfant, puis liée au ztree.
Notez que l'action en arrière-plan renvoie ici une chaîne JSON et que ztree ne reçoit des tableaux que lors de la liaison de nouvelles données de nœud. Vous devez donc utiliser la fonction de filtre pour effectuer des opérations de nettoyage et de conversion des données avant la liaison et convertir la chaîne en tableau. :
//过滤异步加载ztree时返回的数据 function filter(treeId, parentNode, childNodes) { if (!childNodes) return null; childNodes = eval((+childNodes+)); //必须转换为[{id:103,pId:1,name:'子节点3'}];这样的格式 return childNodes; }
Lorsque vous cliquez pour développer le nœud de l'arborescence ztree, l'action sera demandée pour obtenir les données du nœud enfant et liée.
Ce qui suit est une implémentation de l'action en arrière-plan :
public String InitServiceIpsData() { HttpServletRequest request = ServletActionContext.getRequest(); String id = request.getParameter(id); String name = request.getParameter(name); System.out.println(请求获取+name+的ip列表); List<hashmap<string,object>> list = new ArrayList<hashmap<string,object>>(); for(int i = 1; i <= 2; i++){ HashMap<string,object> hm = new HashMap<string,object>(); hm.put(id, id + 0 + i); hm.put(pId, id); hm.put(name, name + _IP_ + i); hm.put(isParent, false); list.add(hm); } JSONArray finalJson = JSONArray.fromObject(list); this.initServiceIpsData = finalJson.toString(); return SUCCESS; }</string,object></string,object></hashmap<string,object></hashmap<string,object>
Ce qui précède sont les étapes détaillées pour implémenter l'opération de chargement asynchrone du contrôle d'arborescence Jquery zTree. J'espère que cela sera utile à l'apprentissage de chacun.