zTree节点异步刷新之后节点保持选中状态

当选择一个节点修改信息保存,异步刷新节点并保持节点选中状态。

// 获取id为tree的zTree对象
var zTree = $.fn.zTree.getZTreeObj("tree");

// 获取当前被选中的节点数据集合,假设只选中一个节点,并且该节点为子节点
var nodes = zTree.getSelectedNodes();

// 强行异步加载父节点的子节点
// 注意:[setting.async.enable = true 时才有效]
// getParentNode获取节点的父节点。
zTree.reAsyncChildNodes(nodes[0].getParentNode(), "refresh");

// zTree.getNodeByParam根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象
// 先获取节点属性
var nodeId = nodes[0].id;

// 用于捕获异步加载正常结束的事件回调函数
zTree.setting.callback.onAsyncSuccess = function(event, treeId, treeNode, msg) {
    
    // zTree.selectNode选中指定节点
    // 注意,zTree.getNodeByParam("id", nodeId)获取到是一个对象数组
    zTree.selectNode(zTree.getNodeByParam("id", nodeId)[0]);
}

猜你喜欢

转载自www.cnblogs.com/quxingzhou/p/11994749.html