近期使用了 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的所有信息