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

elementui树形

2026-03-06 05:09:32前端教程

ElementUI 树形组件使用指南

ElementUI 提供了 el-tree 组件用于展示树形结构数据,支持节点选择、懒加载、自定义节点内容等功能。

基本用法

最简单的树形结构只需传入 data 属性,数据格式为包含 labelchildren 的数组:

<el-tree :data="data"></el-tree>

对应的数据格式示例:

data: [{
  label: '一级 1',
  children: [{
    label: '二级 1-1'
  }]
}]

节点属性配置

可通过 props 属性自定义节点字段名称:

<el-tree
  :data="data"
  :props="defaultProps">
</el-tree>

配置示例:

elementui树形

defaultProps: {
  children: 'children',
  label: 'name'
}

选择功能

添加 show-checkbox 属性启用复选框选择:

<el-tree
  :data="data"
  show-checkbox
  @check-change="handleCheckChange">
</el-tree>

可通过 node-key 指定节点唯一标识字段:

<el-tree
  :data="data"
  node-key="id"
  show-checkbox>
</el-tree>

懒加载

对于大数据量场景,可使用懒加载方式:

elementui树形

<el-tree
  :props="props"
  :load="loadNode"
  lazy>
</el-tree>

懒加载方法示例:

loadNode(node, resolve) {
  if (node.level === 0) {
    return resolve([{ name: 'region' }]);
  }
  if (node.level > 3) return resolve([]);

  setTimeout(() => {
    const data = Array.from({ length: 5 }).map((_, idx) => ({
      name: `zone-${idx}`,
      leaf: node.level >= 2
    }));
    resolve(data);
  }, 500);
}

自定义节点内容

通过 scoped slot 可自定义节点内容:

<el-tree :data="data">
  <template #default="{ node, data }">
    <span>{{ node.label }}</span>
    <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
  </template>
</el-tree>

常用方法

通过 ref 可调用树形组件方法:

// 获取选中节点
this.$refs.tree.getCheckedNodes()

// 设置选中节点
this.$refs.tree.setCheckedNodes(nodes)

// 展开所有节点
this.$refs.tree.expandAll()

注意事项

  1. 数据中的 children 字段为空数组时会被视为叶子节点
  2. 懒加载模式下,节点需设置 isLeaf 属性标识是否为叶子节点
  3. 节点选择事件包括 node-clickcheck-changecurrent-change
  4. 可通过 default-expand-all 属性默认展开所有节点

通过合理配置,ElementUI 的树形组件能够满足大多数树形数据展示和交互需求。

标签: elementui
分享给朋友:

相关文章

elementui validetor

elementui validetor

Element UI 表单验证方法 Element UI 提供了 el-form 组件,结合 rules 和 prop 属性实现表单验证。以下是常用的验证方法: 基本表单验证 在 el-form…

elementui $loading

elementui $loading

ElementUI $loading 使用方法 ElementUI 的 $loading 方法用于在页面或组件中显示加载状态,通常用于异步操作(如网络请求)期间提供视觉反馈。以下是其核心用法和配置选项…

elementui open=

elementui open=

ElementUI Open 方法详解 ElementUI 是一个基于 Vue.js 的组件库,提供了丰富的 UI 组件。open 方法通常用于打开对话框、下拉菜单等交互组件。 Dialog 组件…

elementui备注

elementui备注

使用 Element UI 添加备注功能 Element UI 提供了多种组件可以用来实现备注功能,具体选择取决于需求场景。以下是几种常见的实现方式: 输入框备注 使用 el-input 组件创建单…

elementui增删

elementui增删

ElementUI 表格的增删操作 ElementUI 提供了强大的表格组件,支持数据的增删改查操作。以下是实现增删功能的详细方法: 安装 ElementUI 确保项目中已安装 ElementUI,…

elementui api

elementui api

以下是 Element UI 常用 API 的整理说明,按照组件分类呈现: Form 表单 model 绑定表单数据对象rules 表单验证规则validate 方法用于整体表单验证resetFie…