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反射各种应用

    详解Java反射各种应用 什么是反射? 反射是 Java 提供的一种机制,它允许程序在运行时动态地访问、检测和修改各种对象的内部属性和方法。反射提供了一个强大的机制,可以让我们在运行时获取类信息、方法信息、属性信息并对其进行操作,而不需要事先知道它们的名字、类型和实现。 Java反射的基本用法 以下是 Java 反射的基本用法: 获取Class对象 反射的第…

    other 2023年6月27日
    00
  • Python单链表的简单实现方法

    下面我将详细讲解“Python单链表的简单实现方法”的完整攻略。 目录 单链表的概念 单链表的基本操作 Python代码实现 示例说明 总结 1. 单链表的概念 单链表是一种常用的数据结构,它由一系列节点组织而成,每个节点包含两个部分:数据域和指针域。数据域用来存储数据,指针域用来指向下一个节点。单链表的头结点不存储任何数据,只是一个指针,指向链表的第一个节…

    other 2023年6月27日
    00
  • 软件工程第二次作业——git的使用

    Git是一款分布式版本控制系统,可以帮助开发者管理代码的版本和变更。下面是Git的使用攻略,包括安装、配置和常用命令等。 安装Git 在Linux系统中,可以使用以下命令安装Git: sudo apt-get update sudo apt-get install git 在Windows系统中,可以从Git官网(https://git-scm.com/do…

    other 2023年5月5日
    00
  • Ruby的运算符和语句优先级介绍

    Ruby的运算符和语句优先级介绍 运算符优先级 在Ruby中,运算符的优先级决定了表达式中各个运算符的执行顺序。以下是Ruby中常用的运算符按照优先级从高到低的顺序: 括号:()、[]、{} 正负号:+、- 幂运算:** 乘、除、取模:*、/、% 加、减:+、- 比较运算符:<、<=、>、>=、!=、== 逻辑运算符:&&am…

    other 2023年6月28日
    00
  • SpringIOC容器Bean的作用域及生命周期实例

    下面是Spring IOC容器Bean的作用域及生命周期实例的详细攻略: 1. 作用域 在Spring框架中,Bean的作用域指的是Bean的实例化范围。Spring框架提供了以下五种作用域: singleton:默认值,每个Bean都只有一个实例。 prototype:每次请求Bean时都会创建一个新实例。 request:在Web应用中,每个HTTP请求…

    other 2023年6月27日
    00
  • 使用curl下载远程文件保存到服务器

    以下是“使用curl下载远程文件保存到服务器”的完整攻略: 使用curl下载远程文件保存到服务器 在Linux服务器上,我们可以使用curl命令下载远程文件并保存到本地。curl是一个强大的命令行工具,支持多种协议,包括HTTP、FTP、SMTP等。在本攻中,我们将使用curl命令下载远程文件并保存到服务器。 步骤 打开终端,登录到Linux服务器。 使用c…

    other 2023年5月8日
    00
  • C语言实现静态链表

    C语言实现静态链表 什么是静态链表 静态链表是一种数组表示链表结构的方法。它本质上是一个数组,但数组的每个元素都拥有两个属性:data 和 next。其中 data 属性保存了该节点的数据,next 属性则保存了指向下一个节点在数组中的下标。 如何实现静态链表 静态链表的实现步骤如下: 创建一个数组作为静态链表的容器 定义一个变量 head 作为链表的头节点…

    other 2023年6月27日
    00
  • 总结Visual Studio下ASP.NET模板化控件中的数据绑定

    下面是详细讲解“总结Visual Studio下ASP.NET模板化控件中的数据绑定”的完整攻略。 什么是数据绑定 数据绑定是将网页控件与数据源相关联的一种技术,可以将数据库中的数据展示在网页中。ASP.NET提供多种数据绑定方式,其中模板化数据绑定是比较常用和灵活的方式。 模板化数据绑定的特点 模板化数据绑定的特点是可以自定义数据的展示形式。通过模板可以控…

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