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日

相关文章

  • SpringBoot读取外部配置文件的方法

    下面我来详细讲解一下“SpringBoot读取外部配置文件的方法”的完整攻略。 1. SpringBoot读取外部配置文件的方法 在 Spring Boot 中,我们可以通过在 application.properties/application.yml 文件中配置属性来自定义应用的一系列配置信息。但是有时候我们需要将配置信息放到磁盘上的其他配置文件中,以方…

    other 2023年6月25日
    00
  • javascript中的this作用域详解

    JavaScript中的this作用域详解 在JavaScript中,this关键字用于引用当前执行上下文中的对象。它的值取决于函数的调用方式。下面是一些关于this作用域的详细说明和示例: 全局作用域中的this 在全局作用域中,this指向全局对象(在浏览器中是window对象)。这意味着在全局作用域中,可以使用this来访问全局对象的属性和方法。 示例…

    other 2023年8月19日
    00
  • Java 的访问修饰符public,protected,private(封装、继承)

    关于Java的访问修饰符public、protected、private,涉及封装、继承的相关知识点,下面为您详细演示: 1. Java中的访问修饰符 Java提供了4种访问修饰符,分别是: public:公共的,可以被所有类访问,无访问限制。 protected:受保护的,只能被本类、同包内以及其它包中的子类访问。 default:(没有修饰符)默认的,在…

    other 2023年6月25日
    00
  • Android将Glide动态加载不同大小的图片切圆角与圆形的方法

    下面我将详细讲解“Android将Glide动态加载不同大小的图片切圆角与圆形的方法”的完整攻略。 何为Glide Glide是一个用于在Android中加载图像、视频以及gif动画等媒体资源的快速轻量级库。Glide库使用简单,可缩短开发时间并有效地减少Out Of Memory异常的发生。同时,Glide操作图片的速度比Picasso或Fresco要慢,…

    other 2023年6月27日
    00
  • 浅析在 RHEL8 配置静态 IP 地址的不同方法

    浅析在 RHEL8 配置静态 IP 地址的不同方法 在 RHEL8 中,有多种方法可以配置静态 IP 地址。下面将详细介绍两种常用的方法,并提供示例说明。 方法一:使用 Network Manager 打开终端并以 root 用户身份登录。 使用以下命令编辑 Network Manager 配置文件: vi /etc/sysconfig/network-sc…

    other 2023年7月31日
    00
  • Outliner大纲式笔记软件介绍

    Outliner大纲式笔记软件介绍的完整攻略 Outliner是一款大纲式笔记软件,它可以帮助用户组织和管理笔记,提高工作和学习效率。本文将为您提供一份完整攻略,包括Outliner的基本功能、使用方法、优缺点等。 Outliner的基本功能 Outliner的基本功能包括: 大纲式笔记:Outliner采用大纲式结构,可以帮助用户组织和管理笔记。 标签和颜…

    other 2023年5月5日
    00
  • 利用DIR命令批量输出文件夹名或文件名的代码

    使用DIR命令可以批量输出指定目录下的文件夹名或文件名。以下是利用DIR命令批量输出文件夹名或文件名的完整攻略: 1. 打开命令行窗口 在Windows系统中,按下“Win+R”快捷键打开运行窗口,输入“cmd”并点击“确定”即可打开命令行窗口。 2. 定位到指定目录 使用CD命令可以切换当前目录,例如“CD D:\test”表示切换到D盘下的test文件夹…

    other 2023年6月26日
    00
  • Android实现左滑删除列表功能

    Android实现左滑删除列表功能攻略 1. 添加依赖库 首先,在项目的build.gradle文件中添加以下依赖库: implementation ‘androidx.recyclerview:recyclerview:1.2.0’ implementation ‘it.xabaras.android:recyclerview-swipedecorator…

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