element-ui之树形表格(treetable&&treegrid)

Element-UI之树形表格(treetable&&treegrid)

Element-UI是一套基于Vue.js的UI组件库,提供了丰富的组件和功能。其中,树形表格(treet&&treegrid)是一种常用的组,用于展示具有层级关系的数据。本文将介绍如何使用Element-UI的树形表格组件,并提供两个例说明。

1. treetable和treegrid的区别

在Element-UI中,树形表格有两种实现方式:treetable和treegrid。它们的区别在于:

  • treetable:每一行都可以展开子行,子行和父行在同一级别。
  • treegrid:每一行都可以展子行,子行和父行在不同的级别。

2. 使用treetable实现树形表格

使用treetable实现树形表格的步骤如下:

  1. 引入treetable组件:
<template>
  <div>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column typeexpand"></el-table-column>
      <el-table-column prop="name" label="名称"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
    </el-table>
  </div>
</template>

<script>
import { ElTable, ElTableColumn } from 'element-ui'

export default {
  components: {
    ElTable,
    ElTableColumn
  },
  data() {
    return {
      tableData: [
        {
          name: '张三',
          age: 18,
          address: '北京市朝阳区',
          children: [
            {
              name: '李四',
              age: 20,
              address: '北京市海淀区'
            },
            {
              name: '王五',
              age: 22,
              address: '北京市西城区'
            }
          ]
        },
        {
          name: '赵六',
          age: 25,
          address: '北京市东城区'
        }
      ]
    }
  }
}
</script>

上面的代码使用了treetable组件展示了一个包含层级关系的数据。

  1. 配置展开行:
<template>
  <div>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column type="expand">
        <template slot-scope="props">
          <div>
            <el-table :data="props.row.children" style="width: 100%">
              <el-table-column prop="name" label="名称"></el-table-column>
              <el-table-column prop="age" label="年龄"></el-table-column>
              <el-table-column prop="address" label="地址"></el-table-column>
            </el-table>
          </div>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="名称"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
    </el-table>
  </div>
</template>

上面的代码使用了type="expand"配置了展开行,并使用了slot-scope插槽自定义了展开行的内容。

3. 使用treegrid实现树形表格

使用treegrid实现树形表格的步骤如下:

  1. 引入treegrid组件:
<template>
  <div>
    <el-table :data="tableData" style="width: 100%" :tree-props="{ children: '', hasChildren: 'hasChildren' }">
      <el-table-column type="expand"></el-table-column>
      <el-table-column prop="name" label="名称"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
    </el-table>
  </div>
</template>

<script>
import { ElTable, ElTableColumn } from 'element-ui'

export default {
  components: {
    ElTable,
    ElTableColumn
  },
  data() {
    return {
      tableData: [
        {
          name: '张三',
          age: 18,
          address: '北京市朝阳区',
          hasChildren: true,
          children: [
            {
              name: '李四',
              age: 20,
              address: '北京市海淀区',
              hasChildren: false
            },
            {
              name: '王五',
              age: 22,
              address: '北京市西城区',
              hasChildren: false
            }
          ]
        },
        {
          name: '赵六',
          age: 25,
          address: '北京市东城区',
          hasChildren: false
        }
      ]
    }
  }
}
</script>

上面的代码使用了treegrid组件展示了一个包含层级关系的数据。

  1. 配置展开行:
<template>
  <div>
    <el-table :data="tableData" style="width: 100%" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
      <el-table-column type="expand">
        <template slot-scope="props">
          <div>
            <el-table :data="props.row.children" style="width: 100%" :tree-props="{ children: 'children', hasChildren: 'hasChildren }">
              <el-table-column type="expand"></el-table-column>
              <el-table-column prop="name" label="名称"></el-table-column>
              <el-table-column prop="age" label="年龄"></el-table-column>
              <el-table-column prop="address" label="地址"></el-table-column>
            </el-table>
          </div>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="名称"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
    </el-table>
  </div>
</template>

上面的代码使用了type="expand"配置了展开行,并使用了slot-scope插槽自定义了展开行的内容。同时,使用了:tree-props配置了treegrid的相关属性。

4. 示例1:使用treetable实现树形表格

<template>
  <div>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column type="expand">
        <template slot-scope="props">
          <div>
            <el-table :data="props.row.children" style="width: 100%">
              <el-table-column prop="name" label="名称"></el-table-column>
              <el-table-column prop="age" label="年龄"></el-table-column>
              <el-table-column prop="address" label="地址"></el-table-column>
            </el-table>
          </div>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="名称"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
    </el-table>
  </div>
</template>

<script>
import { ElTable, ElTableColumn } from 'element-ui'

export default {
  components: {
    ElTable,
    ElTableColumn
  },
  data() {
    return {
      tableData: [
        {
          name: '张三',
          age: 18,
          address: '北京市朝阳区',
          children: [
            {
              name: '李四',
              age: 20,
              address: '北京市海淀区'
            },
            {
              name: '王五',
              age: 22,
              address: '北京市西城区'
            }
          ]
        },
        {
          name: '赵六',
          age: 25,
          address: '北京市东城区'
        }
      ]
    }
  }
}
</script>

上面的代码使用了treetable组件展示了一个包含层级关系的数据。

5. 示例2:使用treegrid实现树形表格

<template>
  <div>
    <el-table :data="tableData" style="width: 100%" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
      <el-table-column type="expand">
        <template slot-scope="props">
          <div>
            <el-table :data="props.row.children" style="width: 100%" :tree-props="{ children: 'children', hasChildren: 'hasChildren }">
              <el-table-column type="expand"></el-table-column>
              <el-table-column prop="name" label="名称"></el-table-column>
              <el-table-column prop="age" label="年龄"></el-table-column>
              <el-table-column prop="address" label="地址"></el-table-column>
            </el-table>
          </div>
        </template>
      </el-table-column>
      <el-table-column prop="name" label="名称"></el-table-column>
      <el-table-column prop="age" label="年龄"></el-table-column>
      <el-table-column prop="address" label="地址"></el-table-column>
    </el-table>
  </div>
</template>

<script>
import { ElTable, ElTableColumn } from 'element-ui'

export default {
  components: {
    ElTable,
    ElTableColumn
  },
  data() {
    return {
      tableData: [
        {
          name: '张三',
          age: 18,
          address: '北京市朝阳区',
          hasChildren: true,
          children: [
            {
              name: '李四',
              age: 20,
              address: '北京市海淀区',
              hasChildren: false
            },
            {
              name: '王五',
              age: 22,
              address: '北京市西城区',
              hasChildren: false
            }
          ]
        },
        {
          name: '赵六',
          age: 25,
          address: '北京市东城区',
          hasChildren: false
        }
      ]
    }
  }
}
</script>

上面的代码使用了treegrid组件展示了一个包含层级关系的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:element-ui之树形表格(treetable&&treegrid) - Python技术站

(0)
上一篇 2023年5月7日
下一篇 2023年5月7日

相关文章

  • 怎么自定义CMD之类工具的默认路径? Win10的CMD还能这么玩

    自定义CMD之类工具的默认路径,可以通过以下步骤完成: 打开“系统属性”设置: 1.1. 右键“此电脑”,选择“属性”; 1.2. 点击左侧“高级系统设置”; 1.3. 在弹出的窗口中点击“环境变量”。 设置环境变量: 2.1. 在“用户变量”中点击“新建”; 2.2. 在“变量名”中输入“PATH”,在“变量值”中输入你想要设置的默认路径; 2.3. 如果…

    other 2023年6月26日
    00
  • 快速构建Windows 8风格应用1-开发工具安装及模拟器使用

    快速构建Windows 8风格应用1-开发工具安装及模拟器使用攻略 本文将详细介绍如何快速构建Windows 8风格应用,包括开发工具的安装和模拟器的使用。本文将提供两个示例说明。 开发工具安装 在构建Windows 8风格应用之前,需要安装Visual Studio 2012或更高版本的开发工具。以下是安装步骤: 下载Visual Studio 2012或…

    other 2023年5月5日
    00
  • Android开发之加载图片的方法

    Android开发之加载图片的方法 在Android应用程序开发中,加载图片是非常常见的需求之一。为了提高用户体验,我们需要使用一种高效且稳定的方式来加载图片。本文将详细介绍Android开发中常用的图片加载方法。 1. 使用Android原生API加载图片 Android自带了Imageview控件,可以通过代码设置图片资源或者从URL等网络地址中加载图片…

    other 2023年6月25日
    00
  • 腾讯微云app怎么重命名文件? 腾讯微云文件重命名的技巧

    腾讯微云是一款非常优秀的云存储工具,它具有很多功能,比如直接上传、下载、分享等。而其中一个常用功能就是重命名文件。下面我将详细讲解腾讯微云app怎么重命名文件,以及一些重命名的技巧。 如何重命名文件 腾讯微云提供了简单易用的文件重命名功能。具体步骤如下: 打开腾讯微云app,进入想要重命名的文件夹。 长按要重命名的文件,出现对应选项。 选择“重命名”,输入新…

    other 2023年6月26日
    00
  • Fedora21源配置与显卡安装

    Fedora21源配置与显卡安装 在安装Fedora 21时,为了更好地适配硬件,通常需要配置对应的软件源和显卡驱动。本文将介绍如何进行Fedora 21源配置与显卡安装,帮助用户更好地使用Fedora 21操作系统。 Fedora 21源配置 Fedora 21作为一款Linux发行版,它的应用软件需要通过特定的软件源才能下载安装。在默认情况下,Fedor…

    其他 2023年3月28日
    00
  • Android实现3D标签云简单效果

    Android实现3D标签云简单效果攻略 简介 在本攻略中,我们将学习如何在Android应用中实现一个简单的3D标签云效果。标签云是一种常见的数据可视化方式,通过不同大小和颜色的标签来展示数据的重要性和关联性。 步骤 步骤一:导入依赖库 首先,我们需要在项目的build.gradle文件中添加以下依赖库: dependencies { implementa…

    other 2023年8月25日
    00
  • java安装教程及环境配置

    Java安装教程及环境配置 Java是一种广泛应用的编程语言,若你需要在本地运行Java程序,首先需要在计算机上安装Java运行环境。在本文中,我们将为您介绍如何在Windows操作系统下安装Java,并在配置环境变量后测试安装是否成功。 步骤1:Java的安装 首先,在官网下载Java安装程序。下载地址可在Java官方网站上查找。 在下载页面中选择相应的J…

    其他 2023年3月28日
    00
  • 解决Lombok使用@Builder无法build父类属性的问题

    下面是详细讲解“解决Lombok使用@Builder无法build父类属性的问题”的完整攻略。 背景 在使用Lombok的@Builder注解进行Java对象构建时,可能会遇到一个问题:@Builder无法build父类属性。其原因是@Builder注解只会生成对应的setter方法,而不会生成父类的setter方法。 解决方案 为了解决这个问题,我们可以使…

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