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()
        }

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

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

相关推荐
大龄秃头程序员5 小时前
Flutter 长列表 1 万条滑动卡顿治理:Baseline vs Optimized 可跑 Demo
前端
yingyima5 小时前
Git 核心命令速查:掌握底层原理与实战技巧
前端
黄林晴5 小时前
Kuikly 是什么?和KMP有什么关系?
android·前端
HokKeung5 小时前
Git Hooks 和 Husky 怎么选
前端·前端工程化
李明卫杭州5 小时前
Vue 3 响应式三剑客:ref、shallowRef、reactive,你真的用对了吗?
前端
触底反弹5 小时前
🔥 JavaScript this 指向全解析:面试必考的 5 大绑定规则
前端·javascript·面试
Csvn6 小时前
TypeScript 类型守卫的 4 个实战级别:从 `filter(Boolean)` 到自定义类型谓词
前端
骑士雄师6 小时前
langchain:推荐切片策略
服务器·前端·langchain
云浪6 小时前
拆开 WAV,看见声音——JavaScript 二进制数组实战全解析
前端·javascript·ecmascript 6
_瑞7 小时前
深入理解灵动岛
前端·ios·app