<template>
<div class="tree">
<ul>
<tree-node
v-for="node in treeData"
:key="node.id"
:node="node"
/>
</ul>
</div>
</template>
<script>
import { ref } from 'vue';
import TreeNode from './TreeNode.vue';
export default {
components: {
TreeNode
},
setup() {
const treeData = ref([
{
id: 1,
label: 'Node 1',
children: [
{ id: 2, label: 'Child Node 1' },
{ id: 3, label: 'Child Node 2' }
]
},
{
id: 4,
label: 'Node 2',
children: [
{ id: 5, label: 'Child Node 3' }
]
}
]);
return {
treeData
};
}
};
</script>
<style scoped>
.tree ul {
list-style-type: none;
padding-left: 20px;
}
</style>
模板部分 (<template>):
ul 列表来展示树形结构。tree-node 来递归渲染每个节点。v-for 指令用于遍历 treeData 数组,生成每个节点。脚本部分 (<script>):
ref 函数和自定义的 TreeNode 组件。treeData,这是一个包含节点信息的数组,每个节点可以有子节点(children)。setup 函数返回 treeData,使其在模板中可用。样式部分 (<style scoped>):
ul 的默认列表样式,并增加了左侧缩进,以更好地展示层级关系。TreeNode.vue (假设的子组件代码):
如果你需要完整的 TreeNode.vue 实现,可以进一步提供。
上一篇:vue ssr服务端渲染框架
下一篇:vue转html+js代码
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站