element 多级表头封装_el-table多级表头怎么封装组件-程序员宅基地

技术标签: elementUI  前端  vue.js  javascript  

父组件

<template>
<el-table v-if="fields.length > 0" :size="tableSize" :data="dataList show-summary stripe border fit :height="dataList.length > 4 ? '580' : ''">
   <children-table-column v-for="(item, index) in fields" :key="index" :data="item" />
   <el-empty slot="empty" :image-size="100" />
</el-table>
</template>

export default {
  data() {
    return {        
         fields = [
          {
            label: '一级',
            prop: 'form_index',
            form_index: '1'
          },
          {
            label: '一级',
            form_index: '2',
            children: [
              {
                label: '二级',
                form_index: '2-1',
                isDate: 'startDay',
                children: [
                  {
                    label: '三级',
                    prop: 'test',
                    form_index: '2-1-1'
                  },
                  {
                    label: '三级',
                    prop: 'test',
                    form_index: '2-1-2'
                  }
            ]
          },      
        ]
    }
  }
}

 封装的组件

<template>
  <el-table-column v-if="data.children && data.children.length > 0" :key="data.form_index" v-bind="data" :render-header="renderHeader" :width="data.width || 'auto'" header-align="center">
    <template>
      <children-table-column v-for="item in data.children" :key="item.form_index" :data="item" />
    </template>
  </el-table-column>
  <el-table-column v-else :key="data.form_index" v-bind="data" :render-header="renderHeader" :width="data.width || 'auto'" header-align="center" />
</template>

<script>
export default {
  name: 'ChildrenTableColumn', // 表头合并
  props: {
    data: {
      type: Object,
      default: () => {}
    }
  },
  methods: {
    // 设置表头换行
    renderHeader(h, { column, $index }) {
      return h('div', {}, [h('div', {}, column.label.split(',')[0]), h('div', {}, column.label.split(',')[1])])
    }
  }
}
</script>
<style scoped lang="scss"></style>

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/o_o1996/article/details/128087898

智能推荐

小样本学习记录————文本中特征空间的数据增强MEDA: Meta-Learning with Data Augmentation for Few-Shot Text Classification_data augmentation for meta-learning-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏6次。MEDA: Meta-Learning with Data Augmentation for Few-Shot Text Classification出发点数据增强球合成器合成模块Synthesis module转换模块Transformation module损失函数球生成器部分损失函数元学习损失训练策略实验数据集结语出发点对于小样本学习文本分类问题中,限制其性能的主要原因之一是因为对于每一个类别有多种的表示方式。所以本文提出了一种数据增强方式来解决样本不足的问题。数据增强原文的数据增强:随机替_data augmentation for meta-learning

SSH简介及两种远程登录的方法_ssh @-程序员宅基地

文章浏览阅读10w+次,点赞588次,收藏3.7k次。目录SSH的安全机制SSH的安装启动服务器的SSH服务SSH两种级别的远程登录SSH的高级应用Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,..._ssh @

Java中的byte详解_java byte-程序员宅基地

文章浏览阅读4.6w次,点赞32次,收藏118次。Java中的byte详解介绍byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128, 127],所以在Java中,byte类型的取值范围也是[-128, 127]。byte取值范围分析一直在想为什么不是 -128 到 128呢?今天分析了一下这个问题。首先我们得明白一件事情,那就是运算规则(因为计算机中的数是以反码形式存储的,反码再求反码得到该数真值):正数的最高位都是 0 ,正数的值就是二进制表示的_java byte

ant design 照片墙样式手动上传多图 支持multiple_react ant-design upload图片上传 multiple-程序员宅基地

文章浏览阅读2.8k次,点赞5次,收藏10次。默认样式(啥都没有……):一条:最大条数我设置的3:先简单说下我做的过程,希望有大佬指点,也想能够帮助到刚入门的各位同学。需求和实现:点击上传图片显示图片缩略图并不立即上传,将beforeUpdata中获取到的file存入fileList数组(multiple多选时,beforeUpdata依次传入每一张图的file),同时在beforeUpdata中要控制随后可上传的数组..._react ant-design upload图片上传 multiple

图解 Go GC-程序员宅基地

文章浏览阅读335次。转载自曹大公众号,不光是图,还有动画,读完对 Go GC 会有一个高层次的理解。这一篇是之前给极客时间 tony bai 老师专栏的供稿,经过编辑的同意,延迟几个月后可以在我的个人号上发出~本文内容只作了解,不建议作为面试题考察。武林秘籍救不了段错误包教包会包分配在各种流传甚广的 C 语言葵花宝典里,一般都有这么一条神秘的规则,不能返回局部变量:int*func(vo..._go gc

Node携手MongoDB探险旅行️-程序员宅基地

文章浏览阅读936次,点赞21次,收藏22次。MongoDB是一种流行的开源文档数据库,基于分布式文件存储的数据库;是一个介于关系数据库和非关系数据库之间的产品,它属于NoSQL数据库的一种,由C++语言编写;MySQL,它不遵循传统的表格结构,类似json的bson格式正因如此,对于JavaScript有天然的优势;

随便推点

Java就业课程网络编程(11)_java中网络编程课程作用大码-程序员宅基地

文章浏览阅读76次。网络编程入门软件结构C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷等软件。B/S结构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。网络通信协议网络通信协议:通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进行通信。这就好比在道路中行驶的汽车一定要遵守交通规则一样,协议中对数据..._java中网络编程课程作用大码

USB8814动态信号采集卡——声音振动类信号处理的理想之选!_8通道同步振动数据采集卡-程序员宅基地

文章浏览阅读725次,点赞17次,收藏10次。USB8814是一款为测试音频和振动信号而设计的数据采集卡。该板卡提供8路同步模拟输入通道,24bit分辨率,每通道采样速率高达204.8KSPS,并且每通道集成独立的IEPE激励源,可直接实现对加速度传感器及麦克风等相关信号的调理。采集卡板载数字抗混叠滤波器,可有效降低高频噪声并抑制频率混叠。USB8814具备灵活的通道配置、多通道的动态信号采集,适用于诸如动态结构测试、音频/振动等高动态范围信号的采集应用场合。_8通道同步振动数据采集卡

253、仿真-基于51单片机篮球计时计分器Proteus仿真设计(程序+Proteus仿真+原理图+PCB源文件+参考论文+开题报告+任务书+元器件清单+硬件框图+配套资料等)_篮球计时器proteus-程序员宅基地

文章浏览阅读322次。方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节的闪存程序存储器,也就是说代码量可以写到128k字节,本次设计足够,内部高达20K字节的SRAM。_篮球计时器proteus

【ASP.NET】——IsPostBack_asp.net ispostback-程序员宅基地

文章浏览阅读301次。如果隐藏域的值不为空,表示用户单击了提交按钮发出了POST请求if (!string.IsNullOrEmpty(Request.Form["isPostBack"]))IsPostBack:如果是POST请求该属性的值为true,如果是GET请求该属性的值为false.IsPostBack:是根据__VIEWSTATE隐藏域进行判断的,如果是POST请求那么该隐藏域的值会提交到服务端..._asp.net ispostback

CentOS设置设备开机自动挂载_centos 8.5 启动 自动 mount-程序员宅基地

文章浏览阅读9.8k次,点赞2次,收藏6次。为了避免每次重启系统后都要手动mount,可以在/etc/fstab中加入一行挂载配置,即可开机自动挂载,该方法简单方便。使用root执行命令:vim /etc/fstab并在该文件中添加如下内容:/dev/cdrom /mnt/cdrom iso9660 defaults 0 0 说明:第一列: 设备或磁盘分区 第二列: 挂载点 第三列: 设备_centos 8.5 启动 自动 mount

Android/ActionBar兼容组件ActionBarSherlock_actionbarsherlock-4.4.0/res/values/values.xml:268:-程序员宅基地

文章浏览阅读1k次。>>public abstract class ActionBarextends Object Added in API level 11仅支持3.0 以上的设备 并且google未提供该向下兼容包>>ActionBarSherlock 由http://actionbarsherlock.com/samples.html提供的开源组件目的是为了兼容2.*的设备>>何为兼容_actionbarsherlock-4.4.0/res/values/values.xml:268:5

推荐文章

热门文章

相关标签