当前位置:首页 > 前端教程

elementui tree

2026-03-05 23:38:57前端教程

Element UI Tree 组件使用指南

Element UI 提供了 Tree 组件用于展示树形结构数据,支持节点选择、懒加载、自定义节点内容等功能。以下为关键使用方法和示例。

基本用法

通过 data 属性传入树形数据即可渲染基础树结构。数据格式要求每个节点包含 label 和可选的 children 字段:

<el-tree :data="treeData"></el-tree>
data() {
  return {
    treeData: [{
      label: '一级节点',
      children: [{
        label: '二级节点'
      }]
    }]
  }
}

节点属性配置

支持通过 props 配置字段映射,适应不同数据结构:

elementui tree

<el-tree
  :data="treeData"
  :props="defaultProps">
</el-tree>
defaultProps: {
  children: 'childNodes', // 指定子节点字段名
  label: 'name' // 指定显示名称字段名
}

选择功能

启用 show-checkbox 属性可显示多选框,通过 v-model 绑定选中节点:

<el-tree
  :data="treeData"
  show-checkbox
  node-key="id"
  :default-expanded-keys="[2]"
  :default-checked-keys="[5]">
</el-tree>

懒加载

通过 lazyload 方法实现动态加载节点数据:

elementui tree

<el-tree
  :props="props"
  :load="loadNode"
  lazy>
</el-tree>
methods: {
  loadNode(node, resolve) {
    if (node.level === 0) {
      return resolve([{ name: '根节点' }]);
    }
    if (node.level > 3) return resolve([]);

    // 模拟异步加载
    setTimeout(() => {
      resolve([{
        name: '懒加载节点'
      }]);
    }, 500);
  }
}

自定义节点内容

使用 scoped slot 可完全自定义节点渲染:

<el-tree :data="data">
  <template #default="{ node, data }">
    <span class="custom-node">
      <i :class="data.icon"></i>
      {{ node.label }}
    </span>
  </template>
</el-tree>

常用方法

通过 ref 调用组件方法:

  • getCheckedNodes() 获取选中节点
  • setCheckedKeys(keys) 设置选中项
  • filter(value) 过滤树节点
this.$refs.tree.filter('searchText');

注意事项

  1. 节点需包含唯一标识字段,通过 node-key 指定
  2. 大数据量建议配合懒加载使用
  3. 样式覆盖需注意层级,避免全局污染

以上为 Element UI Tree 组件的核心功能实现方式,可根据实际需求组合使用这些特性。

标签: elementuitree
分享给朋友:

相关文章

elementui  文档

elementui 文档

以下是 Element UI 官方文档及相关资源的整理: 官方文档地址 Element UI 的官方文档可通过以下链接访问: 中文文档:https://element.eleme.cn/#/z…

elementui抽屉

elementui抽屉

elementui抽屉的基本用法 Element UI的抽屉组件(Drawer)是一种从页面边缘滑出的面板,常用于显示额外内容或操作。需要在项目中引入Element UI库后使用。 安装Elemen…

elementui卡死

elementui卡死

问题描述 Element UI 卡死通常表现为页面无响应、操作延迟或组件渲染异常。可能的原因包括数据量过大、循环渲染、事件监听未销毁或版本兼容性问题。 常见原因及解决方法 数据量过大导致渲染卡顿 表…

安装elementui

安装elementui

安装 Element UI Element UI 是一个基于 Vue.js 的组件库,提供丰富的 UI 组件。以下是安装 Element UI 的几种方法: 使用 npm 安装 确保已安装 Node…

elementui todolist

elementui todolist

使用Element UI实现TodoList Element UI提供了丰富的组件,可以快速搭建一个TodoList应用。以下是一个基于Element UI的TodoList实现方法。 安装Elem…

elementui open

elementui open

ElementUI 的 Open 方法 ElementUI 是一个基于 Vue.js 的组件库,提供了丰富的 UI 组件。其中某些组件(如 Dialog、Drawer、Dropdown 等)具有 op…