如果采用普通的for循环方式,没办法确认数据到底有几层,要写几个for循环,所以想到了递归的方法。

那么在vue里然后实现呢?

vue递归组件(组件中使用自己)

父组件中把数据以props形式传给子组件

<template>
<div class="cascader">
<wb-cascader-tree :options="options"></wb-cascader-tree>
</div>
</template> <script>
import wbCascaderTree from './wb-cascader-tree'
export default {
name: "wb-cascader",
data(){
return {
options: [
{
name: "一级菜单1",
children: [
{ name: "二级菜单1-1" },
{
name: "二级菜单1-2",
children: [
{ name: "三级菜单1-2-1", children: [{ name: "四级菜单1-2-1-1" }] },
],
},
],
},
{ name: "一级菜单2" },
{
name: "一级菜单3",
children: [{ name: "二级菜单3-1" }, { name: "二级菜单3-2" }],
},
],
}
},
components:{
'wb-cascader-tree':wbCascaderTree
} }
</script>

子组件,'wb-cascader-tree'。循环递归自身

<template>
<div>
<div v-for="item in options">
{{item.name}}
<div v-if="item.children">
<wb-cascader-tree :options="item.children"></wb-cascader-tree>
</div>
</div>
</div>
</template>
<script>
export default {
name: "wb-cascader-tree",
props:['options']
}
</script>

注意: 在组件中使用自己时,必须要保证有name属性,且name=组件名。如果你在你组件里使用了与name相同的标签,那么就是在使用自己。

多级级联数据的展示-vue递归组件的更多相关文章

  1. vue递归组件的实现

    本文链接:https://blog.csdn.net/weixin_43756060/article/details/87786344vue递归实现图片上的多级菜单 父级组件结构 <templa ...

  2. VUE递归树形目录(vue递归组件)的使用

    1.html <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" ...

  3. vue递归组件 (树形控件 )

    首先我们要知道,既然是递归组件,那么一定要有一个结束的条件,否则就会使用组件循环引用,最终出现“max stack size exceeded”的错误,也就是栈溢出.那么,我们可以使用v-if=&qu ...

  4. vue 递归组件

    如果你的项目里面的数据结构是一个树状的数据结构 然后递归组件是一个很好的一个解决你这个数据结构的一个方式 就是组件内部调用自身 tree.vue里面直接tree-node <tree-node& ...

  5. Vue递归组件实现层层嵌套显示数据

    问题来自朋友...记录一下 需求是表格头部后端返回的数据中是不确定的 n维数据,表头存在于 listVo 字段中,如何实现层层显示呢? 温馨提示,以下内容为5张大图,请打开 WIFI 享用... 以下 ...

  6. Vue.js递归组件实现动态树形菜单

    使用Vue递归组件实现动态菜单 现在很多项目的菜单都是动态生成的,之前自己做项目也是遇到这种需求,翻看了官网案例,和网上大神的案例.只有两个感觉,官网的案例太简洁,没有什么注释,看起来不太好理解,大神 ...

  7. vue开发组件开发中的小技巧

    声明:以下随笔由博主自主编写,也有部分引用网友的,引用部分版权归原作者所有,其他博主原创部分禁止转载.复制全部或部分用以重新发布! vue递归组件事件阻止冒泡 其实这里主要还有递归组件的自定义事件不生 ...

  8. vue动态组件-根据数据展示特定组件

    vue中有个内置组件component,利用它可以实现动态组件,在某些业务场景下可以替换路由 假设有以下三个组件: com1.com2.com3 有一个外层路/coms中代码如下 <templa ...

  9. Vue一个案例引发的递归组件的使用

    今天我们继续使用 Vue 的撸我们的实战项目,只有在实战中我们才会领悟更多,光纸上谈兵然并卵,继上篇我们的<Vue一个案例引发的动态组件与全局事件绑定总结> 之后,今天来聊一聊我们如何在项 ...

随机推荐

  1. mac 修改环境变量bash_profile除了cd用不了其他命令,又关闭了终端

    1.添加命令出错,会导致mac不能使用命令 2.打开终端再添加export PATH=/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11R6/bin 一条 3.可以使用命令, ...

  2. SpringBoot使用JdbcTemplate批量保存

    @Autowired DataSourceProperties dataSourceProperties; @Autowired ApplicationContext applicationConte ...

  3. SpringBoot 自定义配置文件不会自动提示问题

    参阅:https://www.jianshu.com/p/ec3f0b0371e6

  4. thymeleaf调用静态类

    为啥需要调用本地静态方法 Thymeleaf模板里面有时候需要使用本地静态常量,要是每次都在控制层传一遍很麻烦 我们需要在Thymeleaf模板我们使用比如 1代表一年级,2代表二年级,3代表三年级等 ...

  5. Java 中的 TreeMap 是采用什么树实现的?

    Java 中的 TreeMap 是使用红黑树实现的.

  6. 关于 DispatcherServlet.properties 文件

    1.文件位置 2.文件内容 3.文件作用 前端控制器会从 DispatcherServlet.properties 文件中加载 HandlerMapping(处理器映射器).HandlerAdapte ...

  7. mybatis的TypeHandler 的使用

    今天看了别人的mybatis的教学视频,自己手写了一个简单的自定义的TypeHandler,有些细节记录一下. 1.定义自己的TypeHandler,代码如下: package com.example ...

  8. ElasticSearch-学习笔记01-docker安装

    安装ElasticSearch docker 安装请参考: https://www.cnblogs.com/youxiu326/p/docker-01.html docker run -d --nam ...

  9. 使用 vscode 插件可视化制作和管理脚手架及原理解析

    提到脚手架,大家想到的可能就是各种 xxx-cli,本文介绍的是另一种方式:以 vscode 插件的形式实现,提供 web 可视化操作,如下图: 下面介绍如何安装使用,以及实现原理. 安装使用 vsc ...

  10. 二十、生成BOM表