当前位置: 首页 > news >正文

vue3 递归循环展示下级盒子

在这里插入图片描述

index.vue主文件

<template><div><RecursiveCard :data="rootTask" /></div>
</template><script>
import { reactive } from 'vue';
import RecursiveCard from './test.vue'; // 递归组件的路径export default {components: {RecursiveCard,},setup() {const rootTask = reactive({list: ['List item 1', 'List item 2', 'List item 3', 'List item 4'],children: []});return {rootTask};}
};
</script><style>
/* 这里可以添加一些全局样式 */
</style>

test.vue子组件【递归】


<template><el-card style="margin-bottom: 20px;"><template #header><div class="card-header"><span><el-button type="primary" @click="addSubTask">新增子作业</el-button></span></div></template><p v-for="(item, index) in data.list" :key="index" class="text item">{{ item }}</p><template #footer>Footer content</template><div v-if="data.children && data.children.length"><RecursiveCard v-for="(child, index) in data.children" :key="index" :data="child" /></div></el-card>
</template><script>
export default {name: 'RecursiveCard',props: {data: {type: Object,required: true,},},methods: {addSubTask() {// 这里添加子作业逻辑const newSubTask = {list: ['List item 1', 'List item 2', 'List item 3', 'List item 4'],children: []  // 你可以根据需要初始化子作业的 children};if (!this.data.children) {this.$set(this.data, 'children', []);}this.data.children.push(newSubTask);},},
};
</script><style scoped>
/* 这里可以添加一些局部样式 */
</style>

在这里插入图片描述

相关文章:

  • GLM4-Chat-1M(号称可以输入200万字)的长文本测试结果(推理时间,推理效果)
  • 主成分分析学习
  • 仓库风格-系统架构师(九)
  • Mysql分组如何使用
  • GoogleDeepMind联合发布医学领域大语言模型论文技术讲解
  • GO语言 环境搭建
  • Android native层的线程分析(C++),以及堆栈打印调试
  • Solidity智能合约事件(event)
  • VS2019专业版 C#和MFC安装
  • 在Linux中查找文件命令的几种方法
  • 使用Stream实现Web应用,使用YOLOv8模型对图像进行目标检测为例。
  • Go微服务: 分布式之发送带有事务消息的示例
  • 树结构的实现
  • java多线程临界区介绍
  • 代码随想录算法训练营第五十七天|1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列
  • CentOS 7 防火墙操作
  • fetch 从初识到应用
  • Js基础知识(四) - js运行原理与机制
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Redis的resp协议
  • Vue小说阅读器(仿追书神器)
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端面试之闭包
  • 深入 Nginx 之配置篇
  • 使用docker-compose进行多节点部署
  • 算法之不定期更新(一)(2018-04-12)
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 我建了一个叫Hello World的项目
  • 写代码的正确姿势
  • 用mpvue开发微信小程序
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • Spring第一个helloWorld
  • 积累各种好的链接
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • $.ajax()方法详解
  • (2)STL算法之元素计数
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (Oracle)SQL优化技巧(一):分页查询
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (二)JAVA使用POI操作excel
  • (篇九)MySQL常用内置函数
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (三)c52学习之旅-点亮LED灯
  • (十八)三元表达式和列表解析
  • (四)JPA - JQPL 实现增删改查
  • (四)opengl函数加载和错误处理
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .gitignore文件设置了忽略但不生效
  • .NET Core 和 .NET Framework 中的 MEF2
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .net实现头像缩放截取功能 -----转载自accp教程网