您的位置:首页 > 财经 > 金融 > vue3 递归循环展示下级盒子

vue3 递归循环展示下级盒子

2024/12/23 10:23:16 来源:https://blog.csdn.net/weixin_41497075/article/details/139472491  浏览:    关键词: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>

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com