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

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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容