elementUI Tree 树形控件的官方使用文档

yizhihongxing

ElementUI Tree 树形控件是基于Vue.js的一款可折叠的树形菜单组件,用于显示有层次结构的数据。以下是官方使用文档的完整攻略:

树形控件的基本使用

可以使用<el-tree> 标签将树形控件引入到页面中,并传入相应的数据。 其中需要传入的数据包括dataprops

以下是一个简单的示例:

<template>
  <el-tree :data="treeData" :props="defaultProps"></el-tree>
</template>
<script>
export default {
  data() {
    return {
      defaultProps: {
        children: 'children', 
        label: 'label'
      },
      treeData: [
        {
          label: '一级 1',
          children: [
            {
              label: '二级 1-1',
              children: [
                {
                  label: '三级 1-1-1'
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
</script>
  • :data 传递树形结构的数据
  • :props 配置节点字段,用于显示节点数据

选项配置

Props

可以通过 props 属性自定义显示的 key 值和菜单节点属性的 key 值。

defaultProps 属性中可以配置以下内容:

  • children: 指定子节点属性
  • label: 指定显示属性
  • disabled: 指定禁用属性
  • isLeaf: 指定节点是否为叶子节点属性

示例如下:

<template>
  <el-tree :data="treeData" :props="customProps"></el-tree>
</template>
<script>
export default {
  data() {
    return {
      customProps: {
        children: 'childs',
        label: 'title',
        disabled: 'isDisabled',
        isLeaf: 'isLeaf'
      },
      treeData: [
        {
          title: '一级 1',
          childs: [
            {
              title: '二级 1-1',
              childs: [
                {
                  title: '三级 1-1-1',
                  isDisabled: true
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
</script>

Tree Attributes

可以通过 tree-attributes 属性设置树的属性。

以下是一些支持的属性:

  • indent: 单个缩进的大小
  • show-checkbox: 是否显示 checkbox
  • default-expand-all: 是否默认展开所有节点
  • expand-on-click-node: 是否点击节点展开子节点

示例如下:

<template>
  <el-tree :data="treeData" :props="customProps" :tree-attributes="customAttributes"></el-tree>
</template>
<script>
export default {
  data() {
    return {
      customProps: {
        children: 'childs',
        label: 'title'
      },
      customAttributes: {
        'default-expand-all': true,
        'show-checkbox': true,
        'expand-on-click-node': false
      },
      treeData: [
        {
          title: '一级 1',
          childs: [
            {
              title: '二级 1-1',
              childs: [
                {
                  title: '三级 1-1-1'
                }
              ]
            }
          ]
        }
      ]
    }
  }
}
</script>

示例

勾选后获取拥有选中状态节点的 Key 值

<template>
  <el-tree
    :data="treeData"
    :props="defaultProps"
    :checked-keys="checkedKeys"
    @check="handleCheckChange"
  ></el-tree>
</template>
<script>
export default {
  data() {
    return {
      treeData: [{
        id: 1,
        label: '一级 1',
        children: [{
          id: 11,
          label: '二级 1-1',
          children: [{
            id: 111,
            label: '三级 1-1-1'
          }]
        }, {
          id: 12,
          label: '二级 1-2',
          children: [{
            id: 121,
            label: '三级 1-2-1'
          }]
        }]
      }],
      defaultProps: {
        children: 'children',
        label: 'label'
      },
      checkedKeys: []
    }
  },
  methods: {
    handleCheckChange(checkedKeys) {
      this.checkedKeys = checkedKeys;
    }
  }
}
</script>

添加自定义展开图标

<template>
  <el-tree
    :data="treeData"
    :props="defaultProps"
    node-key="id"
    :render-content="renderContent"
  ></el-tree>
</template>
<script>
export default {
  data() {
    return {
      treeData: [{
        id: 1,
        label: '一级 1',
        children: [{
          id: 11,
          label: '二级 1-1',
          children: [{
            id: 111,
            label: '三级 1-1-1'
          }]
        }]
      }],
      defaultProps: {
        children: 'children',
        label: 'label'
      }
    }
  },
  methods: {
    renderContent(h, { node, data }) {
      return (
        <span>
          <span>{node.label}</span>
          {node.isLeaf ? '' : <span class="expand-icon el-icon-plus" onClick={() => this.$refs.tree.$emit('node-expand', data)}></span>}
        </span>
      )
    }
  }
}
</script>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:elementUI Tree 树形控件的官方使用文档 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript仿小米实现球体分解动画

    以下是详细讲解“JavaScript仿小米实现球体分解动画”的完整攻略: 问题描述 如何使用 JavaScript 仿小米实现球体分解动画? 解决方案 创建一个球体 使用 Three.js 库中的 SphereGeometry 创建一个球体。代码示例: var geometry = new THREE.SphereGeometry( 100, 32, 32 …

    JavaScript 2023年6月11日
    00
  • 基于js中的存储键值对以及注意事项介绍

    下面是关于“基于js中的存储键值对以及注意事项介绍”的完整攻略: 基于JS中的存储键值对 在JavaScript中,可以使用键值对存储数据。这被称为对象。对象是由键-值对构成的集合。可以通过键来访问值。 JavaScript中存储键值对的方式主要有以下三种: 1. 对象 对象是由键-值对构成的集合。可以使用对象字面量创建对象。对象字面量是由一对大括号包裹起来…

    JavaScript 2023年6月11日
    00
  • 【谷歌插件开发】获取当前网站COOKIE并上报HTTP-API

    一 背景 由于本人每天需要登录网站查看数据并分析统计汇总,而每次机械式地搜索和简单计算,十分繁琐。我们可以写个定时任务,每天根据cookie获取网站数据并遍历统计。 脚本得以成功执行的关键是需要获取到COOKIE 故,写了个谷歌插件用来上报COOKIE 二 代码总目录 三 上代码 manifest.json { “manifest_version”: 3, …

    JavaScript 2023年4月25日
    00
  • jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法

    要实现将弹出窗口中选中的内容赋值给文本框,可以通过以下步骤实现: 给选择框添加点击事件,使用jQuery选择器选中选择框,并使用click()事件绑定函数。 $(‘#selectBox’).click(function(){ // 在函数内部编写后续代码 }) 在函数中,打开弹出窗口,监听选择框内容的点击事件,使用jQuery选择器选中选择框内的所有选项,并…

    JavaScript 2023年6月11日
    00
  • 详解Three.js 场景中如何彻底删除模型和性能优化

    针对“详解Three.js场景中如何彻底删除模型和性能优化”的完整攻略,以下是详细的讲解。 第一部分:如何彻底删除模型 在Three.js场景中,我们创建了许多的对象,例如模型、灯光、相机等。如果某些模型不再需要使用了,就应该将这些模型从场景中彻底删除,以释放内存并提高性能 1.1 单个模型的删除 要删除单个模型,需要使用以下代码: scene.remove…

    JavaScript 2023年6月10日
    00
  • vscode中vue-cli项目es-lint的配置方法

    下面是详细讲解“vscode中vue-cli项目es-lint的配置方法”的完整攻略: 1. 安装ESLint 首先请确保你的vscode里已经安装了 ESLint 插件,如果没有安装可以在插件市场中搜索并进行安装。ESLint 是 Javascript 的语法规范,可以用于代码的静态检查,还可以进行代码风格的约束。ESLint还支持vue、react等框架…

    JavaScript 2023年6月11日
    00
  • DOM节点的替换或修改函数replaceChild()用法实例

    DOM(Document Object Model)是指文档对象模型,它是浏览器中的一种编程接口,允许开发者通过JavaScript来操作HTML文档的每个元素。在DOM中,节点是文档的基础单位。其中replaceChild()函数就是DOM节点的替换或修改函数,我们来详细讲解一下它的用法实例。 什么是replaceChild()函数? replaceChi…

    JavaScript 2023年6月10日
    00
  • JavaScript如何实现元素全排列实例代码

    让我来为您详细讲解如何通过JavaScript实现元素全排列。 前置知识 在学习元素全排列之前,您需要掌握以下内容: JavaScript基础知识(变量、函数等) 递归算法 实现思路 下面是实现元素全排列的思路: 将数组的第一个元素与其他元素交换位置,得到一个新的数组。 对新数组中的除第一个元素外的剩余元素进行全排列,得到新的排列方式。 将第一个元素与其他元…

    JavaScript 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部