美文网首页
tree组件 通过一个id 去查询其所有上级数据并返回一个数组

tree组件 通过一个id 去查询其所有上级数据并返回一个数组

作者: 前端Tree | 来源:发表于2021-11-05 10:36 被阅读0次

tree组件 通过一个id 去查询其所有上级数据并返回一个数组
1、前提是父级和子级数据有关联
2、本代码实现是使用ts实现的所以有些类型校验。


import BOrgTreeVO from 'model/remote/org/tree/BOrgTreeVO'
import BTreeVO from 'model/remote/basic/BTreeVO'

class LoopTree {

    /**
    * auth:wangyahao
    * describe: 通过treeId 去找数组节点的所有上级数据并返回
    * 
    * @param originalOptions // 原始tree list
    * @param loopOptions  // 循环中的找到的下级
    * @param id // 使用id去寻找
    */

    endResult: BTreeVO<BOrgTreeVO>[] = []
    private forEachOption(originalOptions, loopOptions, id) {
        const res = loopOptions.find(res1 => {
            if (res1.treeId === id) {
                return res1
            } else {
                if (res1.children && res1.children.length > 0) {
                    this.forEachOption(originalOptions, res1.children, id)
                }
            }
        })

        if (res) {
            this.endResult.push(res)
            if (res.value !== '0') {
                this.forEachOption(originalOptions, originalOptions, res.treePid)
            }
        }
    }

    public initLoopTree(originalOptions, id) {
        this.endResult = []
        this.forEachOption(originalOptions, originalOptions, id)
        return this.endResult
    }
}

export default new LoopTree()

相关文章

网友评论

      本文标题:tree组件 通过一个id 去查询其所有上级数据并返回一个数组

      本文链接:https://www.haomeiwen.com/subject/zjtrzltx.html