广告
返回顶部
首页 > 资讯 > 前端开发 > html >VUE无限层级树形数据结构显示怎么实现
  • 448
分享到

VUE无限层级树形数据结构显示怎么实现

2024-04-02 19:04:59 448人浏览 泡泡鱼
摘要

这篇文章主要讲解了“Vue无限层级树形数据结构显示怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VUE无限层级树形数据结构显示怎么实现”吧!文章中用

这篇文章主要讲解了“Vue无限层级树形数据结构显示怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VUE无限层级树形数据结构显示怎么实现”吧!

文章中用到的数据是下面这个:

mainData: {
  value: "root",
  children:[{
    value: "层级1-1",
    children:[{
      value: "层级2-1",
      children:[{
          value: "层级3-1",
          children:[]
       }]
     },{
       value: "层级2-2",
       children:[]
     }]
   },{
      value: "层级1-2",
      children:[]
   }]
}

也就是下面这个样子。

VUE无限层级树形数据结构显示怎么实现

组件递归调用

第一种是组件递归调用自己的方式,创建一个组件,该组件在引用自己去展示children的数据,子组件如下:

<template>
<div>
  <div>
    {{treeData.value}}
    <tree-comp v-for="(item, index) in treeData.children" :treeData="item"></tree-comp>
  </div>
</div>
</template>
<script>
export default {
  name: "treeComp",
  props:{
    treeData: {
      default: function(){
        return {}
      }
    }
  },
  mounted(){},
  methods:{}
}
</script>
<style scoped>
  .demo{padding:5px 0;margin:1px 10px;text-align: left;font-size:16px;max-width:500px;border-left:1px dashed #999;
    &:before{content:"--";display: inline-block;padding:0 4px;}
  }
</style>

然后创建父组件,父组件使用子组件,并将数据传入子组件。

<template>
  <tree-comp :treeData="mainData"></tree-comp>
</template>
<script>
export default {
  name: "treeMain",
  data () {
    return {
      mainData: {
        value: "root",
        children:[
          {
            value: "层级1-1",
            children:[{
              value: "层级2-1",
              children:[{
                value: "层级3-1",
                children:[]
              }]
            },{
              value: "层级2-2",
              children:[]
            }]
          },{
            value: "层级1-2",
            children:[]
          }
        ]
      }
    }
  },
  components:{
    "tree-comp": () =>  import("./TreeComp")
  },
  mounted(){},
  methods:{}
}
</script>

使用render方法

除了使用组件的方式,也可以使用vue的render方法,去利用javascript 的完全编程的能力,实现递归处理树形数据,从而展示出无限层级树。如下:

<template>
  <tree-comp :treeData="mainData"></tree-comp>
</template>
<script>
export default {
  name: "treeRender",
  data () {
    return {
      mainData: {
        value: "root",
        children:[
          {
            value: "层级1-1",
            children:[{
              value: "层级2-1",
              children:[{
                value: "层级3-1",
                children:[]
              }]
            },{
              value: "层级2-2",
              children:[]
            }]
          },{
            value: "层级1-2",
            children:[]
          }
        ]
      }
    }
  },
  components:{
    treeComp:{
      functional: true,
      props: {treeData: Object},
      render(h, {props: {treeData = {}}}) {
        const creatnode = (node)=>{
          if(node.children && node.children.length > 0){
            let hArr = node.children.map(item=>{
              return creatNode(item)
            })
            return h("div", {class:"demo"}, [node.value, hArr])
          }else{
            return h("div", {class:"demo"}, [node.value])
          }          
        }
        return creatNode(treeData)
      },
    }
  },
  mounted(){},
  methods:{}
}
</script>
<style scoped>
  .demo{padding:5px 0;margin:1px 10px;text-align: left;font-size:16px;max-width:500px;border-left:1px dashed #999;
    &:before{content:"--";display: inline-block;padding:0 4px;}
  }
</style>

其中最核心的就是在render方法里,creatNode方法用递归的方式,深度优先遍历树状数据,生成vnode,然后渲染出了页面。

感谢各位的阅读,以上就是“VUE无限层级树形数据结构显示怎么实现”的内容了,经过本文的学习后,相信大家对VUE无限层级树形数据结构显示怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: VUE无限层级树形数据结构显示怎么实现

本文链接: https://www.lsjlt.com/news/95896.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • VUE无限层级树形数据结构显示怎么实现
    这篇文章主要讲解了“VUE无限层级树形数据结构显示怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VUE无限层级树形数据结构显示怎么实现”吧!文章中用...
    99+
    2022-10-19
  • VUE 无限层级树形数据结构显示的实现
    目录组件递归调用使用render方法在做项目中,会遇到一些树形的数据结构,常用在左侧菜单导航,或者评论引用等地方,这种数据结构有个特点是不知道它会嵌套多少层,所以用template去...
    99+
    2022-11-12
  • ajax+asp怎么实现无限级分类树型结构
    本篇内容主要讲解“ajax+asp怎么实现无限级分类树型结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ajax+asp怎么实现无限级分类树型结构”吧!复制代...
    99+
    2022-10-19
  • Vue中怎么实现一个无限级联树形表格
    这篇文章给大家介绍Vue中怎么实现一个无限级联树形表格,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。资源JavaScript框架:vue.jsUI框架:Element UI源码这里需要...
    99+
    2022-10-19
  • SqlServer中怎么利用公用表表达式实现无限级树形构建
    SqlServer中怎么利用公用表表达式实现无限级树形构建,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SQL Server 2005开始...
    99+
    2022-10-18
  • C++高级数据结构之二叉查找树怎么实现
    本文小编为大家详细介绍“C++高级数据结构之二叉查找树怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++高级数据结构之二叉查找树怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。高级数据结构(Ⅳ)...
    99+
    2023-06-30
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作