layui tree customSelet选中的内容重写,查找父级

layui tree customSelet选中的内容重写,查找父级

需要重新源码

// 递归查找函数

// tree 所有数据 ,nodeId选中数据id值

复制代码
function findParent(tree, nodeId, parent = null) {
    for (let i = 0; i < tree.length; i++) {
        if (tree[i].id === nodeId) {
            return parent;
        }
        if (tree[i].children && tree[i].children.length > 0) {
            const found = findParent(tree[i].children, nodeId, tree[i]);
            if (found) return found;
        }
    }
    return null;
}

源码位置

复制代码
      onclick: function (data) {
            var values = '';
            var parent1 = findParent(datas, data.data.id);
            var parent1_val = '';
            var parent_val = '';
            if(parent1){
                parent1_val = data.data.title
                values = parent1.title + ' -> ' + data.data.title
                var parent = findParent(datas, parent1.id);
                if(parent){
                    parent_val = parent.title
                    values = parent_val + ' -> ' + parent1.title + ' -> ' + data.data.title
                }
            }
            $el.val(values)
            checked({
                obj: data,
                checkedDatas: null,
                combData: {
                    values: data.data.title,
                    idents: data.data.id,
                    datas: data.data
                }
            })
            $(listm).hide()
        }

选中金水区 显示内容如下:

河南省 -> 郑州市 -> 金水区

相关推荐
zhensherlock8 分钟前
Protocol Launcher 系列:Trae AI 编辑器的深度集成
javascript·人工智能·vscode·ai·typescript·编辑器·ai编程
吠品17 分钟前
Vue项目Moment.js引入优化:全局挂载与按需引入的深度解析与最佳实践
前端·javascript·vue.js
不甜情歌20 分钟前
JS 类型判断不用愁:4 种方法,覆盖所有场景
前端·javascript
ETA826 分钟前
状态管理没那么复杂:手写实现 Zustand 核心逻辑
前端·react.js
用户2557788508132 分钟前
axios请求缓存
前端
夫瑞34 分钟前
TypeScript 直接编译成原生二进制,没有浏览器,没有 V8
前端
Talents35 分钟前
OpenLayers 7.5.2 判断点是否在区域边上
前端
共享家952736 分钟前
单例模式( 饿汉式与懒汉式 )
开发语言·javascript·ecmascript
cmd37 分钟前
前端基础必看:JS 变量提升 & 函数提升完整解析
前端·javascript
小金鱼Y38 分钟前
前端必看:this 不是玄学!5 大绑定规则帮你永久告别 this 困惑
前端·javascript·面试