ElementUI的表格树(树型结构表格),很简单方式,el-table只需要小小改动几个地方

效果:

在el-table中,支持树类型的数据的显示。当 row 中包含 children 字段时,被视为树形数据。渲染树形数据时,必须要指定 row-key。支持子节点数据异步加载。

设置 Table 的 lazy 属性为 true 与加载函数 load 。通过指定 row 中的 hasChildren 字段来指定哪些行是包含子节点。children 与 hasChildren 都可以通过 tree-props 配置。

default-expand-all属性表示默认展开,不需要展开可以删除。row-key="id"和:tree-props="{children: ‘children‘, hasChildren: ‘hasChildren‘}是必须的。

下面是vue的表格树:

<el-table
        :data="items"
        row-key="id"
        :tree-props="{children: ‘children‘, hasChildren: ‘hasChildren‘}"
      >
        <el-table-column label="部门名称 (编码)" width="200">
          <template slot-scope="scope">{{ scope.row.bmwh1.name }} ({{ scope.row.bmwh1.code }})</template>
        </el-table-column>
        <el-table-column label="更新于" width="240">
          <template slot-scope="scope">{{ scope.row.bmwh1.updatedAt }}</template>
        </el-table-column>
        <el-table-column label="上级部门名称(编码)">
          <template
            slot-scope="scope"
          >{{ scope.row.bmwh1.pid==null?‘‘:`${scope.row.bmwh2.name}(${ scope.row.bmwh2.code})` }}</template>
        </el-table-column>
        <el-table-column label="是否启用">
          <template slot-scope="scope">
            <el-switch
              v-model="scope.row.bmwh1.enable"
              @change="onenable($event,scope.row.bmwh1 )"
            />
          </template>
        </el-table-column>
      </el-table>
<script>
import {
  get as httpGet,
  PAGE_SIZE
} from ‘@/request‘;
export default {
  data() {
    return {
      items: [],
      pageSize: PAGE_SIZE,
      total: 1
    };
  },
  created() {
    this.onCurrentChange(1);
  },
  methods: {
onCurrentChange(page) {
      httpGet(`/iron/bmwh/?page=${page}&size=${PAGE_SIZE}`)
        .then(rst => {
          this.items = rst.items;
          this.total = rst.total;
        })
        .catch(e => this.$message.error(e.message));
    }
}

后端视图层:

public class Bmwhs implements Serializable {

    private int id;
    private Bmwh bmwh1;
    private Bmwh bmwh2;
    private List<Bmwhs> children;

...........

}

接下来需要做的事就是把所有的下级部门视图层封装到最上级部门的children视图层集合属性里面就可以了。

总结:

一、注意需要在前端表格里面改的是:

二、后端主要改的是:

(1)视图层里面加入视图层集合属性,注意一定要命名为children,这样前端才能渲染成树型结构。

(2)controller层里面需要做的是:把所有下级部门的视图层----封装到----最上级部门视图层的children集合。

--------====下面不重要====-------------

下面只是例子,不重要!!!根据自己的要求来写自己 二(2)的东西。

原文地址:https://www.cnblogs.com/pzw23/p/12058457.html

时间: 2024-07-29 18:32:06

ElementUI的表格树(树型结构表格),很简单方式,el-table只需要小小改动几个地方的相关文章

规定和决定国家的东结构等很简单

http://www.l99.com/EditPicture_photoView.action?pictureId=29209921 http://www.l99.com/EditPicture_photoView.action?pictureId=29209922 http://www.l99.com/EditPicture_photoView.action?pictureId=29209923 http://www.l99.com/EditPicture_photoView.action?p

树型结构

树型结构的基本概念 对大量的输入数据,链表的线性访问时间太慢,不宜使用.本文探讨另外一种重要的数据结构----树,其大部分时间可以保证操作的运行平均时间复杂度为O(logN),第一部分先来看一下树的一些预备知识. 首先看一下树形结构的样子,下图代表的是树型结构的一般形态: 由上图看得出树是一些节点的集合,总结一下树的一些基本概念: 1.结点:树中的数据元素都称之为结点 2.根:最上面的结点称之为根,一颗树只有一个根且由根发展而来,从另外一个角度来说,每个结点都可以认为是其子树的根 3.父亲:结点

通用的树型类,可以生成任何树型结构

<?php namespace Vendor\Tree; /** * 通用的树型类,可以生成任何树型结构 */ class Tree { /** * 生成树型结构所需要的2维数组 * @var array */ public $arr = array(); /** * 生成树型结构所需修饰符号,可以换成图片 * @var array */ public $icon = array('│', '├', '└'); public $nbsp = " "; private $str =

dzzoffice的树型结构用户管理设计

在DzzOffice1.1的开发中,针对用户使用群体重新设计了,机构.部门.用户管理应用. 传统OA,企业相关程序,一般是设置机构-设置部门-设置职位-添加用户这样的步骤.每个步骤分为不同的管理界面.用户管理采用列表的形式,每页显示10条.20条或更多.用户的管理,移动等操作会在不同的界面中切换.感觉操作过程会很繁琐,显示也不直观. DzzOffice主要针对几人至几百人的中小型团队和企业使用设计,要实现的功能目标主要是: 便捷增 删 移 机构.部门.子部门 便捷增 删 移 用户 批量导入用户

Mysql树型结构2种方式及相互转换

Mysql实现树型结构,数据库上常见有2种方式:领接表.预排序遍历树(MPTT). 领接表方式-- 主要依赖于一个 parent 字段,用于指向上级节点,将相邻的上下级节点连接起来,id 为自动递增自动,parent_id 为上级节点的 id. 领接表方式的优点在于容易理解,代码也比较简单明了.缺点则是递归中的 SQL 查询会导致负载变大,特别是需要处理比较大型的树状结构的时候,查询语句会随着层级的增加而增加,WEB 应用的瓶颈基本都在数据库方面,所以这是一个比较致命的缺点,直接导致树结构的扩展

jquery: json树组数据输出到表格Dom树的处理方法

项目背景 项目中需要把表格重排显示 处理方法 思路主要是用历遍Json数组把json数据一个个append到4个表格里,还要给每个单元格绑定个单击弹出自定义对话框,表格分了单双行,第一行最后还要改rowspan呵呵,程序还没优化运行正常先给客户展示先:) 1,表格数据->json数组 var keyArr = new Array(); var jsonArr = new Array(); $list.find("thead th").each(function () { keyA

数据结构中常用树型结构简介

B树.B-树.B+树.B*树.红黑树rbtree 二叉排序树.trie树Double Array 字典查找树 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中:否则,如果查询关键字比结点关键字小,就进入左儿子:如果比结点关键字大,就进入右儿子:如果左儿子或右儿子的指针为空,则报

10.树与树的存储结构

一.树 1.树的定义:树是n(n>=0)个结点的有限集,其中n=0时称为空树.在任意一颗非空树中:(1)有且仅有一个特定的称为根的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1.T2.....Tm,其中每一个集合本身又是一棵树,并且称为根的子树(Subtree). 注意:当m>0时,子树的个数没有限制,但它们一定是互不相交的. 2.结点的度与树的度 树的结点包含一个数据元素及若干指向其子树的分支. (1)结点的度:结点拥有的子树称为结点的度(degree)

树的存储结构以及遍历

一.树的存储结构 ——————顺序存储(一维数组)—————— 1.双亲表示法: 1 #define MaxSize 100 //假设树中最多有100个节点 2 //1.定义树节点的数据类型,假设为char型 3 typedef char DataType; 4 typedef struct{ 5 DataType data; //树节点的数据信息 6 int parent; //该节点的双亲在数组中的下标 7 }PNode; 8 //2.定义双亲表示法存储结构 9 typedef struct