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日

相关文章

  • Python 功能和特点(新手必学)

    Python 功能和特点(新手必学) Python 是一种高级编程语言,具有简单易学、开发效率高等特点,非常适用于数据分析、机器学习、人工智能等领域。下面详细讲解 Python 的功能和特点。 功能 语法简单易学 Python 的语法非常简单,类似于英语,易于理解和记忆。以下是一个简单的 Python 程序,输出 “Hello World!”。 print(…

    JavaScript 2023年5月28日
    00
  • vue之keepAlive使用案例详解

    Vue之keepAlive使用案例详解 概述 Vue中的keep-alive是一个抽象组件,用于缓存动态组件或router-view之间的状态。当一个keep-alive包裹的组件在它们之间切换时,组件不会被销毁和重新创建,它只是被缓存起来,直到下次被需要时再进行渲染。 基本使用 在需要进行缓存的组件外部添加<keep-alive>标签,并在该标…

    JavaScript 2023年6月11日
    00
  • 第一个JavaScript程序

    1. 创建 HTML 文件 首先,我们需要为我们的 JavaScript 文件创建一个 HTML 文件。在你的代码编辑器中,创建一个新文件并将其保存为 index.html。然后输入以下代码: <!DOCTYPE html> <html> <head> <title>My First JavaScript Pr…

    Web开发基础 2023年3月30日
    00
  • JavaScript 拖放效果代码

    下面我会详细讲解“JavaScript 拖放效果代码”的完整攻略,包括整体思路和具体实现方法,同时会提供两个示例说明。 整体思路 JavaScript 拖放效果代码的实现需要遵循以下几个步骤: 获取拖拽源和拖拽目标元素; 为拖拽源元素绑定 mousedown 事件,并在该事件中记录鼠标按下时的位置信息; 为拖拽源元素绑定 mousemove 事件,该事件会在…

    JavaScript 2023年6月10日
    00
  • Firefox和IE兼容性问题及解决方法总结

    Firefox和IE兼容性问题及解决方法总结 1. 兼容性问题概述 随着Web的发展,人们越来越注重Web应用的跨平台和兼容性。然而,在不同的浏览器中,同一个网站可能会出现不同的排版和功能异常等问题。特别是在Firefox和IE中兼容性问题更加明显,主要表现在以下方面: CSS兼容性问题:包括盒模型、浮动、定位等 JavaScript语法差异:例如事件绑定、…

    JavaScript 2023年6月10日
    00
  • 浅析JS中document对象的一些重要属性

    下面是关于“浅析JS中document对象的一些重要属性”的完整攻略: 一、什么是document对象 document对象代表当前HTML文档,是网页与JavaScript交互的关键。我们可以通过document对象来获取并操纵HTML元素,实现网页的动态效果。 二、 document对象的一些重要属性 1. document.title document…

    JavaScript 2023年6月10日
    00
  • JavaScript中的函数式编程详解

    JavaScript中的函数式编程详解 函数式编程是一种编程范式,它将控制状态和变化的副作用最小化,并强调使用函数来解决问题。在JavaScript中,函数作为第一类对象已广泛使用,这使得函数式编程成为编写可维护和可扩展代码的理想选择。 特点 函数式编程有以下几个特点: 函数是一等公民,可以作为变量传递和返回值 纯函数,不改变外部状态,也不受全局状态的影响 …

    JavaScript 2023年5月27日
    00
  • 基于JavaScript获取url参数2种方法

    当开发 web 应用时,我们经常需要从 URL 中获取参数。JavaScript 是一种方便快捷、实用的语言,而获取 URL 参数是 JavaScript 开发中必须面对的一个问题。本文将详细介绍两种基于 JavaScript 获取 URL 参数的方法,并提供具体的示例说明。 方法1:使用正则表达式 要从 URL 中获取参数,我们可以使用 JavaScrip…

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