使用Layui树形组件如何取值

发布时间 2023-04-20 16:36:32作者: lanwf

近期使用了 layui中的树形组件来分分发权限,发现无法直接获取选中值的id或code数据

官方案例

 可以使用 tree.getChecked('demoId') 获取选中的节点,选中节点是个对象 无法直接获取指定code或者id等信息,需要我们自己处理一下

 

该方法  可以获取指定 层级的id或code等信息

一. 核心代码

 /**  这里我获取的是树中code的信息
     * 
     * @param tree  选中的树结构节点
     * @param level 从第几层开始,默认1
     * @param showLevel 空只显示哪层数据,默认全部层级数据
     * @returns {string}
     */
function getCodes(tree,level,showLevel){
    if(tree == null){
        return "";
    }
    if(level == null){
        level = 1;
    }
    let ids = "";
    for (let i = 0; i < tree.length; i++) {
        let treeElement = tree[i];
        if(level == showLevel){
            ids += treeElement.code+",";
        }else if(showLevel == "all" || showLevel == null){
            ids += treeElement.code+",";
        }
        ids += getCodes(treeElement.children,(level+1),showLevel)
    }
    if(level == 1 && ids.length > 0){
        ids = ids.substring(0,ids.lastIndexOf(","))
    }
    return ids;
}

 

二 使用测试

 

 

 

 可以看到每层code的所有信息