<template>
<div id="app">
<tree-view :data="treeData"></tree-view>
</div>
</template>
<script>
export default {
name: 'App',
components: {
TreeView
},
data() {
return {
treeData: [
{
name: 'root',
children: [
{ name: 'child 1' },
{ name: 'child 2', children: [{ name: 'grandchild 1' }] }
]
}
]
};
}
};
</script>
<script>
// TreeView.vue
export default {
name: 'TreeView',
props: ['data'],
template: `
<ul>
<li v-for="item in data" :key="item.name">
{{ item.name }}
<tree-view v-if="item.children" :data="item.children"></tree-view>
</li>
</ul>
`
};
</script>
<style scoped>
ul {
list-style-type: none;
padding-left: 20px;
}
</style>
模板部分 (<template>
):
TreeView
组件的根元素。TreeView
组件接收一个 data
属性,该属性是一个包含树形结构数据的对象数组。脚本部分 (<script>
):
App
) 和树形视图组件 (TreeView
)。App
组件中定义了一个 treeData
数据属性,用于存储树形结构的数据。TreeView
组件接收 data
属性,并递归地渲染子节点。样式部分 (<style scoped>
):
这个示例展示了如何使用 Vue.js 创建一个简单的树形视图组件。通过递归调用自身,TreeView
组件可以处理任意深度的树形结构。
上一篇:vue获取当前年月日
下一篇:vue3 :class
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站