Ant Design of Vue的树形控件Tree的使用及说明

Ant Design 是一款优秀的 React UI 库,它的 Vue 版本 Ant Design of Vue 同样也是备受欢迎的UI框架之一。Ant Design of Vue中提供了一种常用的可展开、可收起的树形控件 Tree,下面我来详细介绍如何使用及说明。

安装

可以通过 npm 或 yarn 安装 Ant Design of Vue。

使用 npm:

npm install --save ant-design-vue

使用 yarn:

yarn add ant-design-vue

导入组件

在需要使用 Tree 的文件中,导入 Tree 组件:

import { Tree } from 'ant-design-vue';

基础用法

下面展示一个简单的 Tree,包含三个 TreeNode。可以通过 key 取到节点对象,然后自定义节点的内容。示例代码如下:

<template>
  <a-tree :default-expanded-keys="['0-0-0', '0-0-1']">
    <a-tree-node title="parent 1" key="0-0">
      <a-tree-node title="parent 1-0" key="0-0-0">
        <a-tree-node title="leaf" key="0-0-0-0"></a-tree-node>
        <a-tree-node title="leaf" key="0-0-0-1"></a-tree-node>
      </a-tree-node>
      <a-tree-node title="parent 1-1" key="0-0-1">
        <a-tree-node title="<span style='color:red'>html can be used</span>" key="0-0-1-0" />
      </a-tree-node>
    </a-tree-node>
  </a-tree>
</template>
  1. default-expanded-keys 属性定义了展开的节点,值为所有已知的展开节点的 key 组成的数组;
  2. title 为节点标题,可以是一个字符串或 HTML 标签。

使用说明

基本属性

  • treeData:接受一个对象数组,对象必须包含 titlekey 两个属性,其中 key 是必须的。支持通过 slots 具体渲染每个节点,可自定义节点 UI。

  • checkable:添加这个属性可以开启树形节点的选择框。用访问 checkedKeys 接口来获取全选和半选的节点 keys。

  • selectable:添加这个属性可以使树形节点可选择。用访问 selectedKeys 接口来获取选中节点的 keys。

  • expandedKeys:设置展开指定的树形节点,只控制(非受控)可展开的节点。(默认受控,值通过 defaultExpandedKeys 设置)

  • defaultExpandedKeys:设置默认展开的某个树形节点,只在初始渲染时有效。可以是一个字符串数组或函数返回字符串数组,数组元素是树节点的 key 值。

  • autoExpandParent:是否自动展开父节点。

  • defaultExpandAll:默认展开全部树节点。

  • showIcon:是否展示 TreeNode 节点前的图标,没有默认样式,如需展示更多图标可以自行添加 style。

  • switcherIcon:自定义 switcher 图标,同时也接受一个数组,分别为关闭和打开状态

  • showLine:是否展示 TreeNode 之间的虚线。

  • draggable:开启上传并启动拖拽功能。

  • blockNode:节点是否独占一行,(默认开启,需要设置具体数值的时候使用)。

  • virtualListProps:懒加载的虚拟树(只在大数据量情况下使用)。

常用事件

  • onSelect: 选择树节点时触发,参数为 (selectedKeys, e:{selected: bool, selectedNodes, node, event}),其中 selectedKeys 为当前被选中节点的 key 的数组,selectedNodes 为当前被选中的节点的节点实例的引用的数组。

  • onCheck: 节点选框选中或取消时触发,返回选中节点的 keys。

  • onExpand: 展开/收起节点时触发,返回当前节点的 key,布尔值 expanded 和结合 excludeExpandEvents 的事件 Flags。

  • onLoad: 节点被加载时触发。

  • onRightClick: 右键单击节点时触发,返回 rightClickNode 和事件对象。

示例说明

示例1:默认展开子节点和半选中节点的树形控件

<template>
  <a-tree
    :tree-data="treeData"
    show-icon
    checkable
    :checked-keys="checkedKeys"
    :default-expanded-keys="['0-0', '0-0-0']"
    @check="onCheck"
  >
    <template slot="title" slot-scope="{ title }">
      <a :title="title">{{ title }}</a>
    </template>
  </a-tree>
</template>

<script>
export default {
  data() {
    return {
      treeData: [
        {
          title: '父节点1',
          key: '0-0',
          children: [
            {
              title: '父节点1-1',
              key: '0-0-0',
              children: [
                {
                  title: '子节点1',
                  key: '0-0-0-0',
                  disableCheckbox: true
                },
                {
                  title: '子节点2',
                  key: '0-0-0-1'
                }
              ]
            },
            {
              title: '父节点1-2',
              key: '0-0-1',
              disableCheckbox: true
            }
          ]
        }
      ],
      checkedKeys: ['0-0-0']
    };
  },
  methods: {
    onCheck(checkedKeys) {
      console.log('onCheck', checkedKeys);
      this.checkedKeys = checkedKeys;
    }
  }
};
</script>

根据示例代码,当前共有3个节点,其中父节点1默认展开,子节点1被半选中。

示例2:自定义树形节点内容

<template>
  <a-tree :tree-data="treeData" :default-expanded-keys="['0-0']">
    <template slot="title" slot-scope="{ title }">
      <div>{{ title }}</div>
    </template>
  </a-tree>
</template>

<script>
export default {
  data() {
    return {
      treeData: [
        {
          title: '父节点1',
          key: '0-0',
          children: [
            {
              title: '子节点1',
              key: '0-0-0'
            },
            {
              title: '子节点2',
              key: '0-0-1'
            }
          ]
        }
      ]
    };
  }
};
</script>

根据示例代码,每个节点信息的 title 都是字符串类型,并且使用了 div 标签包裹,代表自定义节点内容。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ant Design of Vue的树形控件Tree的使用及说明 - Python技术站

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

相关文章

  • Java中父类怎么调用子类的方法

    当有一个父类和一个子类时,一般情况下父类不会知道子类的存在,不会调用子类的方法。但有时候确有需要,比如在多态的情况下,需要在编译时绑定父类的方法,在运行时动态绑定子类的方法。下面就来具体讲解一下如何实现父类调用子类的方法。 1. 使用抽象方法实现父类调用子类的方法 抽象方法是一种没有实现的方法,只有方法声明,抽象方法必须在抽象类中声明。如果子类继承了这个抽象…

    other 2023年6月26日
    00
  • node读写xlsx文件

    Node读写XLSX文件的完整攻略 在Node.js中,我们可以使用第三方库来读写XLSX文件。本文将介绍如何使用xlsx库来读写XLSX文件,并提供两个示例说明。 安装xlsx库 在使用xlsx库之前,我们需要先安装它。可以使用以下命令来安装: npm install xlsx 读取XLSX文件 以下是使用xlsx库读取XLSX文件的步骤: 引入xlsx库…

    other 2023年5月9日
    00
  • php获取url字符串截取路径的文件名和扩展名的函数

    要获取一个URL字符串的路径中的文件名和扩展名,可以使用字符串操作和正则表达式来实现。下面是完整的攻略: 第一步:获取URL的路径 首先,我们需要从URL字符串中获取路径。在PHP中,可以使用parse_url()函数来解析URL字符串并获取其元素,包括路径。示例代码如下: $url = ‘http://www.example.com/path/to/fil…

    other 2023年6月26日
    00
  • Java 递归查询部门树形结构数据的实践

    下面是“Java 递归查询部门树形结构数据的实践”的完整攻略: 概述 在实际的业务场景中,我们经常会遇到查询树形结构数据的需求,其中部门树结构是比较常见的一种。本文将介绍如何使用Java递归查询部门树形结构数据的方法以及注意事项,以供参考。 代码实现 下面是Java递归查询部门树形结构数据的代码实现过程,基于实际的部门树形结构,以部门名称、部门编码和上级部门…

    other 2023年6月27日
    00
  • linux awk数组操作详细介绍

    Linux awk数组操作详细介绍 什么是awk awk是一种用于处理文本文件数据的命令行工具,在Linux或Unix系统中广泛使用。awk可以用于数据提取、数据转换、报告生成等多种任务。 什么是数组 数组是一种储存数据的数据结构,在awk中也经常用到。数组以下标和值的形式进行储存和访问。 声明数组 在awk中声明数组时,需要使用关键字array或[]。其中…

    other 2023年6月25日
    00
  • ASP.NET Lable中进行换行解决方案

    当我们需要在ASP.NET Label控件中显示较长文本时,可能会出现文本不能自动换行的问题。为了解决这个问题,可以采用以下两种方法: 方法一 使用\n在文本中添加换行符 在文本中添加换行符是一种比较简单的方式。我们可以在需要换行的位置添加\n符号,这个符号表示一个换行。 例如: <asp:Label ID="lblDescription&q…

    other 2023年6月26日
    00
  • 深入解析C++编程中的运算符重载

    深入解析C++编程中的运算符重载 在C++中,运算符重载可以让我们自定义运算符的行为,让其适用于自定义类和数据类型。以下是深入解析C++编程中运算符重载的完整攻略。 1. 进行运算符重载 运算符重载是通过定义特殊类型的函数来实现的,这些函数的名称是由运算符自己确定的。例如,运算符+的重构函数应该被命名为operator+。下面是一个重载运算符+的例子: cl…

    other 2023年6月27日
    00
  • JavaScript 中级笔记 第三章

    JavaScript 中级笔记 第三章攻略 1. 闭包(Closures) 闭包是 JavaScript 中一个重要的概念,它允许函数访问其词法作用域之外的变量。闭包在许多情况下都非常有用,例如在创建私有变量和实现模块化时。 示例 1:创建私有变量 function counter() { let count = 0; return function() {…

    other 2023年8月20日
    00
合作推广
合作推广
分享本页
返回顶部