zTree(五)异步加载并展开第一项

异步配置项

async: {
    enable: true,
    url: ip + "mgmt/getOrg.do",
    autoParam: ["orgCode"],//异步加载时需要自动提交父节点属性的参数
    dataFilter: ajaxDataFilter//用于对 Ajax 返回数据进行预处理的函数。
},
var zTree;
$(function () {
    $.fn.zTree.init($("#treeOrg"), setting1, null);
})
//这些方法看看就好,这是我项目中写的,我不想改所以就全放来了
function ajaxDataFilter(treeId, parentNode, responseData) {
    // console.log(responseData)
    if (responseData.retCode == 0) {
        // console.log(responseData.orgList)
        var orgList = getOrgList(responseData.orgList)
        return orgList;
    }
};
function getOrgList(orgList) {

    // console.log(orgList)
    if (orgList.length > 0) {
        setOrgCode(orgList[0].orgCode, orgList[0].orgName, orgList[0].sortKey);
    } else {
        setOrgCode('1', 'Root', '1000000')
    }
    orgList = sortOrg(orgList)
    // var orgList1 = sortOrg(orgList)
    // console.log(orgList1)
    var rootOrg = {
        orgCode: '1',
        parentCode: null,
        orgName: 'Root'
    }
    orgList.push(rootOrg);
    for (var i = 0, l = orgList.length; i < l; i++) {
        if (orgList[i].termNum !== 0 && orgList[i].termNum) {
            orgList[i].name = orgList[i].orgName + ' [' +
                orgList[
                    i].termNum + ']'
        } else {
            orgList[i].name = orgList[i].orgName
        }

    }

    // console.log(orgList)
    return orgList;
}

异步加载完成后展开第一项

function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
   zTree = $.fn.zTree.getZTreeObj("treeOrg");
    expand()
};
function expand() {
    var nodes = zTree.getNodes();
    // console.log(nodes)
    if (nodes[0].children[0]) {
        zTree.selectNode(nodes[0].children[0]);
    } else {
        zTree.selectNode(nodes[0])
    }
    setting1.callback.onClick = zTreeOnClickOrg;
    // console.log(nodes)
    if (nodes.length > 0) {
        // console.log(nodes)
        zTree.expandNode(nodes[0], true, false);
    }
}

猜你喜欢

转载自blog.csdn.net/jx950915/article/details/81223171