首页
/ 【亲测免费】 Vue Tree List 使用教程

【亲测免费】 Vue Tree List 使用教程

2026-01-19 11:55:13作者:钟日瑜

1、项目介绍

vue-tree-list 是一个用于树形结构的 Vue 组件。它支持添加树节点和叶子节点、编辑节点名称以及拖动节点等功能。该组件适用于需要在界面中展示树形数据结构的应用场景。

2、项目快速启动

安装

首先,通过 npm 安装 vue-tree-list

npm install vue-tree-list

引入和使用

在你的 Vue 项目中引入并使用 vue-tree-list 组件:

<template>
  <div>
    <vue-tree-list
      @click="onClick"
      @change-name="onChangeName"
      @delete-node="onDel"
      @add-node="onAddNode"
      :model="data"
      default-tree-node-name="new node"
      default-leaf-node-name="new leaf"
      v-bind:default-expanded="false"
    >
      <template v-slot:leafNameDisplay="slotProps">
        <span>
          {{ slotProps.model.name }}
          <span class="muted">#{{ slotProps.model.id }}</span>
        </span>
      </template>
      <span class="icon" slot="addTreeNodeIcon">📂</span>
      <span class="icon" slot="addLeafNodeIcon">+</span>
      <span class="icon" slot="editNodeIcon">📃</span>
      <span class="icon" slot="delNodeIcon">✂️</span>
      <span class="icon" slot="leafNodeIcon">🍃</span>
      <span class="icon" slot="treeNodeIcon">🌲</span>
    </vue-tree-list>
  </div>
</template>

<script>
import { VueTreeList, Tree, TreeNode } from 'vue-tree-list'

export default {
  components: {
    VueTreeList
  },
  data() {
    return {
      data: new Tree([
        {
          name: 'Node 1',
          id: 1,
          pid: 0,
          dragDisabled: true,
          addTreeNodeDisabled: true,
          addLeafNodeDisabled: true,
          editNodeDisabled: true,
          delNodeDisabled: true,
          children: [
            { name: 'Node 1-2', id: 2, isLeaf: true, pid: 1 }
          ]
        },
        { name: 'Node 2', id: 3, pid: 0, disabled: true },
        { name: 'Node 3', id: 4, pid: 0 }
      ])
    }
  },
  methods: {
    onDel(node) {
      console.log(node)
      node.remove()
    }
  }
}
</script>

<style lang="less" scoped>
.icon {
  &:hover {
    cursor: pointer;
  }
}
.muted {
  color: gray;
  font-size: 80%;
}
</style>

3、应用案例和最佳实践

应用案例

vue-tree-list 可以用于多种场景,例如:

  • 文件管理系统:展示文件和文件夹的树形结构。
  • 组织架构图:展示公司或组织的层级结构。
  • 分类管理系统:展示商品或内容的分类结构。

最佳实践

  • 自定义节点样式:通过插槽自定义节点的显示样式,使其更符合项目需求。
  • 事件处理:合理使用组件提供的事件(如 @click, @change-name, @delete-node 等),实现节点的增删改查功能。
  • 数据管理:确保树形数据的一致性和完整性,特别是在进行拖拽操作时。

4、典型生态项目

vue-tree-list 可以与其他 Vue 生态项目结合使用,例如:

  • Vuex:用于管理树形数据的状态,实现全局状态管理。
  • Element UI:结合 Element UI 的组件,提升界面美观度和用户体验。
  • Vue Router:在树形节点点击时,通过路由跳转到相应的
登录后查看全文
热门项目推荐
相关项目推荐