Ztree 树的初始化、获取当前节点、刷新节点

1、$.fn.zTree.init(obj,zSetting,zNodes)zTree的初始化方法,创建zTree必须使用此方法

var setting = {
			view: {
				selectedMulti: false
			},
			data : {
				simpleData : {
					enable : true,// 是否之用简单数据
					idKey : 'ID', // 对应json数据中的ID
					pIdKey : 'PARENT_ID', // 对应json数据中的父ID
					rootPId : "0"
				},
				key : {
					title : "NAME",
					name : "NAME",
					isParent : "CHILDCNT"
				}
			},
			async:{
				enable:true,
				type: "post",
				dataType: "json",
				url:path+'/rest/baseorgMaintain/queryTreeNode',
				autoParam:["ID=parentId","NAME"],
				contentType:"application/x-www-form-urlencoded;charset=utf-8",
				dataFilter: function(treeId, parentNode,responseData){	
					var dataNodes = responseData.resultValue;
					if (dataNodes) {
						for ( var i = 0, length = dataNodes.length; i < length; i++) {
							var node = dataNodes[i];
							if (node.CHILDCNT > 0) {// 节点的isParent=true,才会异步加载子节点
								node.isParent = true;
							} else {
								node.isParent = false;
							}
						}
					}

					return dataNodes;
				}
			},
			callback: {
				onAsyncSuccess: function(event, treeId, treeNode, msg){
						var treeObj = $.fn.zTree.getZTreeObj(treeId);
						if (treeNode != undefined) { 
							treeObj.selectNode(treeNode);
						}else{
							var nodes = treeObj.getNodes();
							if(nodes!=''&&nodes != null && nodes != undefined && nodes.length > 0){
								treeObj.selectNode(nodes[0]);
							}
							
						}
						
					},
				//点击事件
				onClick : function(event,treeId,treeNode) {
					var parentId = treeNode.ID;
					$('#baseorglist').datagrid('reload',{parentId:parentId});
				}
			}
		};
	//调用init初始化方法
	$.fn.zTree.init($("#baseOrgTree"), setting);

2.获取当前选中节点

var treeObj = $.fn.zTree.getZTreeObj("baseOrgTree");
var node =  treeObj.getSelectedNodes()[0];

3.获取选中节点的集合,通过getSelectedNodes()

var treeObj = $.fn.zTree.getZTreeObj("baseOrgTree");
var node =  treeObj.getSelectedNodes();

4.刷新当前节点,组织树的节点增加后,实时刷新树的节点。

/**
 * 刷新当前节点
 */
function refreshNode() {
	/*根据 treeId 获取 zTree 对象*/
	var zTree = $.fn.zTree.getZTreeObj("baseOrgTree"),
	type = "refresh",
	silent = false,
	/*获取 zTree 当前被选中的节点数据集合*/
	nodes = zTree.getSelectedNodes();
	/*强行异步加载父节点的子节点。[setting.async.enable = true 时有效]*/
	zTree.reAsyncChildNodes(nodes[0], type, silent);
}

5.刷新当前节点的父级节点

  /**
    	 * 刷新当前选择节点的父节点
    	 */
    	function refreshParentNode() {
    		var zTree = $.fn.zTree.getZTreeObj("scriptTree"),
    		type = "refresh",
    		silent = false,
    		nodes = zTree.getSelectedNodes();
    		/*根据 zTree 的唯一标识 tId 快速获取节点 JSON 数据对象*/
    		var parentNode = zTree.getNodeByTId(nodes[0].parentTId);
    		/*选中指定节点*/
    		zTree.selectNode(parentNode);
    		zTree.reAsyncChildNodes(parentNode, type, silent);
    	}

6、zTreeObj.reAsyncChildNodes强行异步加载父节点的子节点。

  • [setting.async.enable = true 时有效]
    参数:parentNode JSON 指定需要异步加载的父节点 JSON 数据,
    reloadType String reloadType = “refresh” 表示清空后重新加载。
    reloadType != “refresh” 时,表示追加子节点处理
    isSilent Boolean 设定异步加载后是否自动展开父节点。
    isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

版权声明:本文为weixin_42933886原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。