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

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>

配置示例:

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>

懒加载

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

<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 可调用树形组件方法:

elementui树形

// 获取选中节点
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中文网

elementui中文网

Element UI 中文网相关信息 Element UI 是一款基于 Vue.js 的开源 UI 组件库,由饿了么前端团队开发和维护。以下是关于 Element UI 中文网的相关信息: 官方网站…

elementui nuxt

elementui nuxt

在 Nuxt.js 中使用 Element UI Element UI 是一个基于 Vue.js 的组件库,适用于开发后台管理系统。在 Nuxt.js 项目中集成 Element UI 需要一些额外配…

elementui重构

elementui重构

Element UI 重构指南 Element UI 是一款基于 Vue.js 的组件库,重构通常涉及版本升级、性能优化或代码结构调整。以下是常见的重构方法和注意事项: 升级至 Element Pl…

elementui日志

elementui日志

以下是关于 Element UI 日志相关的信息整理: Element UI 官方日志文档 Element UI 的更新日志(Changelog)通常可以在其 GitHub 仓库或官方文档中找到。通…

elementui范围

elementui范围

ElementUI 范围选择功能 ElementUI 提供了多种范围选择组件,适用于日期、时间、数值等场景。以下是常见的范围选择组件及其使用方法。 日期范围选择 使用 el-date-picker…

elementui tabs

elementui tabs

ElementUI Tabs 基础用法 ElementUI 的 Tabs 组件提供了一种便捷的方式来组织内容,通过标签页的形式展示不同板块的信息。使用 el-tabs 和 el-tab-pane 组件…