vue cli实现树形列表
Vue CLI 实现树形列表的方法
使用 Vue CLI 实现树形列表可以通过递归组件或第三方库完成。以下是两种常见方法:
递归组件实现
创建递归组件展示树形结构,适合数据层级明确且需要自定义样式的情况。
组件代码示例:

<template>
<ul>
<li v-for="item in treeData" :key="item.id">
{{ item.name }}
<tree-list v-if="item.children" :treeData="item.children" />
</li>
</ul>
</template>
<script>
export default {
name: 'TreeList',
props: {
treeData: {
type: Array,
required: true
}
}
}
</script>
数据格式示例:
const treeData = [
{
id: 1,
name: 'Parent 1',
children: [
{
id: 2,
name: 'Child 1'
}
]
}
]
使用第三方库
对于复杂需求,可选用现成的树形组件库如 vue-tree-list 或 element-ui 的树形控件。

安装 element-ui 树形组件:
npm install element-ui
使用示例:
<template>
<el-tree :data="treeData" :props="defaultProps"></el-tree>
</template>
<script>
import { ElTree } from 'element-ui'
export default {
components: { ElTree },
data() {
return {
treeData: [{
label: 'Parent',
children: [{
label: 'Child'
}]
}],
defaultProps: {
children: 'children',
label: 'label'
}
}
}
}
</script>
关键注意事项
- 递归组件需要设置终止条件避免无限循环
- 大数据量时建议使用虚拟滚动优化性能
- 第三方库通常提供展开/折叠、复选框等扩展功能
- 树形数据建议包含唯一标识字段如
id






