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

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 拖动_cookie_ajax等

    JavaScript 是一门非常强大的编程语言,可以支持前端页面的实时交互。其中,拖动、cookie 和 Ajax 是 JavaScript 最为常用的功能之一。下面将详细讲解这些内容的完整攻略。 JavaScript 拖动 通过 JavaScript,可以实现网页元素的拖动效果。具体实现方式如下: 首先,通过 JavaScript 获取需要拖动的元素。 l…

    JavaScript 2023年6月10日
    00
  • JavaScript 脚本将当地时间转换成其它时区

    当地时间转换成其它时区,可以通过 JavaScript 的 Date 对象来实现。以下是完整攻略: 步骤一:获取当前时间 首先,我们可以通过 JavaScript 的 Date 对象获取当前时间。可以使用以下代码: const now = new Date(); 这样,我们就可以得到 now 变量,它是当前时间的 Date 对象。 步骤二:获取时差 我们需要…

    JavaScript 2023年5月27日
    00
  • 无需 Flash 使用 jQuery 复制文字到剪贴板

    下面我将为您详细讲解 “无需 Flash 使用 jQuery 复制文字到剪贴板”的完整攻略。 1.前言 jQuery 是一款非常流行且实用的、基于 JavaScript 的前端开发框架,主要的作用是优化并简化 JavaScript 代码,使开发者能够更高效地进行前端开发。而在 jQuery 中,有很多非常实用的插件,比如可以实现无需 Flash 就可以复制文…

    JavaScript 2023年6月10日
    00
  • Javascript中正则表达式的应用详解

    Javascript中正则表达式的应用详解 什么是正则表达式 正则表达式是一种描述字符串模式的工具,可以方便快捷的进行字符串匹配、替换等操作。Javascript内建的正则表达式库是RegExp。 创建正则表达式 Javascript中可以通过两种方式创建正则表达式 直接量方法 使用/pattern/表示式,其中pattern是需要匹配的模式。 例如:匹配字…

    JavaScript 2023年6月10日
    00
  • JavaScript实现的多种鼠标拖放效果

    下面我就为你详细讲解一下JavaScript实现多种鼠标拖放效果的攻略: 简介 鼠标拖放是前端开发中常用的功能,它给用户带来了便利,同时也提高了用户体验。JavaScript是前端开发中最常用的语言之一,所以我们可以通过JavaScript来实现鼠标拖放效果。 方法 实现鼠标拖放效果可以使用HTML5的Drag和Drop API,也可以使用原生JavaScr…

    JavaScript 2023年6月10日
    00
  • 浅谈JS的二进制家族

    浅谈JS的二进制家族 什么是二进制? 在计算机系统中,数值一般用二进制表示,即只有 0 和 1 两种状态。在 JavaScript 中,二进制数可以以 0b 或 0B 表示。 示例1:将十进制数转化为二进制数 const num = 10; const binaryNum = num.toString(2); console.log(binaryNum); …

    JavaScript 2023年5月27日
    00
  • JavaScript for of

    JavaScript的for of循环是ES6中的一个新特性,它可以用于遍历可迭代对象(Iterable)。本文将详细介绍for of循环的使用方法,以及提供代码示例。 for of循环的基本语法如下: for (let item of iterable) { // Statement } 其中,iterable表示一个可迭代对象,如字符串、数组、Set、M…

    Web开发基础 2023年3月30日
    00
  • JavaScript动态创建二维数组的方法示例

    下面是”JavaScript动态创建二维数组的方法示例”的完整攻略。 1. 什么是二维数组 二维数组是由多个一维数组组成的数组,每个一维数组可以当成是一个表格中的一行,多个一维数组就可以组成一个表格。 2. 创建二维数组 创建二维数组的方法有很多种,我们这里介绍两种常见的方法。 方法一:使用嵌套的for循环来创建二维数组 //创建一个3行4列的二维数组,并将…

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