Vue 中 Element UI 的 el-table 组件实现动态表头和内容

这篇具有很好参考价值的文章主要介绍了Vue 中 Element UI 的 el-table 组件实现动态表头和内容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Vue 中使用 Element UI 的 el-table 组件时,为了实现动态表头(包括第一层表头及其下的嵌套表头或子表头)。需要后端返回的数据结构能够体现表头层级关系以及对应的数据结构相匹配。这样的数据通常是一个嵌套数组,每个表头单元可能包含自身的列信息以及它的子表头和相关数据。文章来源地址https://www.toymoban.com/news/detail-806817.html

<template>
  <el-table :data="tableData">
    <el-table-column v-for="(header, index) in headers" :key="index" :label="header.title" :props="header.key || null">
      <el-table-column v-if="header.children" v-for="(subHeader, subIndex) in header.children" :key="`${index}-${subIndex}`" :label="subHeader.title" :props="subHeader.key">
        <!-- 显示子表头对应的数据 -->
        <template slot-scope="{ row }">
          {{ row[subHeader.key] }}
        </template>
        <!-- 如果还有更深的层级,继续递归 -->
        <!-- ... -->
      </el-table-column>
      <!-- 对于没有子表头的一级列,直接显示数据 -->
      <template slot-scope="{ row }" v-else>
        {{ row[header.key] }}
      </template>
    </el-table-column>
  </el-table>
</template>

<script>
export default {
  data() {
    return {
      tableData: [  
        {
          "field1_1": "数据项1-1",
          "field1_2_1": "数据项1-2-1",
          "field1_2_2": "数据项1-2-2",
          "field2": "数据项2"
        },
      ],
      headers: [  
        {
          "title": "一级表头1",
          children: [
            {
              "title": "二级表头1-1",
              "key": "field1_1"
            },
            {
              "title": "二级表头1-2",
              "children": [
                {
                  "title": "三级表头1-2-1",
                  "key": "field1_2_1"
                },
                {
                  "title": "三级表头1-2-2",
                  "key": "field1_2_2"
                }
              ]
            }
          ]
        },
        {
          "title": "一级表头2",
          "key": "field2"
        }
      ],
    };
  },
  created() {

  },
};
</script>

到了这里,关于Vue 中 Element UI 的 el-table 组件实现动态表头和内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue el-table实现动态表头

    众所周知,element-ui中有一个表格组件el-table,用于展示多条结构类似的数据。之前遇到过一个需求,要手动控制el-table的表头显示。就是假如table表格一共有10列数据,可以通过设置勾选,决定显示多少列。 为了代码的复用性,将配置页面单独抽成了组件,所以代码中会有组件

    2024年02月12日
    浏览(53)
  • element ui - el-table 表头筛选

    场景 :根据表头筛选出表格中符合条件的数据; 效果 : 筛选结果 : 在列中设置 filters 和 filter-method 属性即可开启该列的筛选。 filters :筛选的下拉列表,是一个json数组,里面的json对象是 { text: ‘’, value: ‘’ } 的格式,text是下拉选项的显示内容,value则为选择的值;

    2024年02月05日
    浏览(52)
  • Vue+Element-UI 实现前端分页功能,利用el-table和el-pagination组件实现表格前端分页

    Vue+Element-UI 实现前端分页功能,利用el-table和el-pagination组件实现表格前端分页:         当table的数据量比较大的时候,一个屏幕展示不出全部的数据,这个时候就需要分页显示。而多数情况下都是做的后端分页,就是将分页参数和查询条件一并传到后端,后端将当前页要

    2024年01月20日
    浏览(55)
  • element ui - el-table 设置表头背景颜色和字体颜色

    在使用 elementui 中的 el-table 时,由于默认表格样式与设计稿不符,需要将表头的背景色和字体颜色设置为新颜色。 但是对 thead,thead tr,.el-table__cell 元素进行设置,都是无效的,查询了 elementui官网,发现需要使用 header-cell-style 属性。

    2024年02月12日
    浏览(76)
  • vue中element-ui表格组件el-table封装,在table表格中插入图片

            这次写的项目是写后台管理系统这部分,对于后台管理使用vue写,用组件的话,table组件用得次数比较多,可以封装一个table组件。         1.如封装的table组件:  :prop=\\\"item.prop\\\"  :label=\\\"item.label\\\"是必须要有的,其他的可以根据自己需要写 。 2.封装之后是就是使

    2024年02月15日
    浏览(56)
  • 【Vue Element-ui el-table组件 实现跨分页全选 可全选中当前页 也可选中全量数据】

    前端模拟数据示例,无需后台接口,复制粘贴即可看到效果。 element-ui table里的全选功能只会全选当前页的所有数据 当table有分页功能的时候实现跨页全选 ①为table添加select方法(当用户手动勾选数据行的 Checkbox 时触发的事件) 两个参数 selection,row 选中的数据 最后一个选中

    2024年02月02日
    浏览(53)
  • element-ui自定义表头;el-table自定义表头;render-header自定义表头

    场景:给表头设置自定义按钮,点击时候 批量下载或做其他事件 给当前的那列设置 :render-header methods设置事件 element-ui自定义表头链接 注意:el-table-column需要去掉label和prop属性 然后使用插槽 slot

    2024年02月11日
    浏览(40)
  • vue+element-ui el-table组件二次封装实现虚拟滚动,解决数据量大渲染DOM过多而卡顿问题

    某些页面不做分页时,当数据过多,会导致页面卡顿,甚至卡死 一、固定一个 可视区域 的大小并且其大小是不变的,那么要做到性能最大化就需要尽量少地渲染 DOM 元素,而这个最小值也就是可视范围内需要展示的内容,而可视区域之外的元素均可以不做渲染。 二、如何计

    2024年02月10日
    浏览(64)
  • element-ui 表格el-table高度不是一个固定值时固定表头

    elementui中为表格组件提供了height属性实现固定表头 height可以为数字或者字符串,当为一个数字时表示固定的高度,也可以为百分比等字符串。 当height不是一个固定值时,如期望表格可以填充完页面剩余空间,并且固定表头时,可以通过给height属性赋值字符串形式实现。以页

    2024年01月25日
    浏览(71)
  • element-ui的table实现滚动加载,涵el-table组件封装一份

    重点就是 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e n e r 函数,想快点弄上去看效果的直接弄这个函数吧 如果不在mounted中则一定要this.$nextTick(() = this.addRollListener()) 示例代码 如果你把上面的看过了;只需要在 a d d R o l l L i s t e n e r addRollListener a d d R o l l L i s t e

    2023年04月08日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包