返回

【前端】pid2children iview tree json

发布时间:2022-10-24 01:22:47 309
# 数据
<script>
  import inBody from '../inBody'
  export default {
    components:{
      inBody
    }

    ,data () {
      return {
        data2: [
          {title: 'parent 1'}
          ,{title: 'parent 1'}
        ]
        ,pidData:[
          {id:"1",pid:"0",title:"一级目录"}
          ,{id:"2",pid:"0",title:"又是一个一级目录"}
          ,{id:"3",pid:"1",title:"二级栏目"}
        ]
      }
    }
    ,methods:{
      pid2children:function(){

        let pidData2 = this.pidData //pidData就是pid数据
        //pidData2 === this.pidData ? console.info("true") : console.info("false")
        pidData2.forEach(el => {
          delete el.children //delete 删除数组 数组长度不变 特别适合 索引用
        })

        let map = {}
        pidData2.forEach(el => {
          map[el.id] = el // 循环data拿到所有的id
        })

        let arr = []
        pidData2.forEach(el => {
          let parent = map[el.pid] // 拿到所有的pid,如果为真,和id进行对比,如果pid===id,就说明是id的子集
          if (parent) {
            (parent.children || (parent.children = [])).push(el)
          } else { // 如果不是就是第一级,没有pid或者pid为0
            arr.push(el)
            console.log('arr', arr)
          }
        })


        return arr;
      }
    }
    ,mounted:function(){
      this.$nextTick(function () {
        // Code that will run only after the
        // entire view has been rendered
        //this.getData2()
      })

    }
  }
</script>

  

---------------------------------------------
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果是对自己行动的嘉奖。
↑面的话,越看越不痛快,应该这么说:

生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Mock.js 2022-10-24 00:36:31