当前位置:网站首页 > Vue.js开发 > 正文

vue递归组件实现多级列表

递归组件:简单来说就是在组件中内使用组件本身

首先我们先创建一个 List 的递归组件

<template> <div> <div class="list-item" v-for="(item, index) in list" :key="index"> <div class="item-name"> <span>{ 
  {item.name}}</span> </div> <div v-if="item.children" class="children-item"> <list :list="item.children"></list> </div> </div> </div> </template> <script> export default { name: "List", props: { list: Array } }; </script>

上面的代码中我们使用了 List 组件本身,完成这些之后,我们在外部父级组件中使用 List 组件时,不管我们的数据有多少层嵌套关系,都可以完美的自适应加载,我们再也不用通过嵌套嵌套在嵌套了。

<template> <div class="list-detail"> <list :list="list"></list> </div> </template> <script> import List from "./components/List"; export default { name: "Parent", components: { List }, data() { return { list: [{ name: "经济", children: [{ name: "如家", children: [{ name: "上江路-如家" }, { name: "望江路-如家" }] },{ name: "7天", children: [{ name: "长江路-7天" }, { name: "望江路-7天" }] }] }] } } } </script>

最后我们来看看渲染后的结果

到此这篇vue递归组件实现多级列表的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • Vue-Axios用delete请求传formData2024-12-01 11:36:05
  • vue 判断页面是首次进入还是再次刷新2024-12-01 11:36:05
  • VUE项目启动后特定接口只调用一次2024-12-01 11:36:05
  • VUE-axios统一增加请求头并根据接口返回的状态码判断用户登录状态并跳转登录页2024-12-01 11:36:05
  • VUE根据token,路由判断用户登录状态并跳转登录页2024-12-01 11:36:05
  • JS阻止鼠标的默认点击事件(例如鼠标的点击右键)2024-12-01 11:36:05
  • JS根据条件将扁平数组树状化2024-12-01 11:36:05
  • VUE实现拖拽2024-12-01 11:36:05
  • js 判断字符串中是否包含某个字符串 删除指定字符2024-12-01 11:36:05
  • JS递归实现遍历不规则多维数组的方法2024-12-01 11:36:05
  • 全屏图片