css画表格多级表头,element UI实现动态生成多级表头

本文介绍如何使用Vue.js结合Element UI库,实现动态生成带有多级表头的表格。通过封装`DynamicTable`和`TableColumn`组件,利用递归处理表头数据,展示了如何在组件中实现这一功能。示例代码包括数据结构和组件间的交互,展示了在服务类型变化时重新渲染表格数据的处理方法。
摘要由CSDN通过智能技术生成

一、效果图

771c1544a821dda930315de74d29ddda.png

a63a4239dd94cf5bcda58bf8d5550d84.png

二、封装两个组件,分别为DynamicTable.vue和TableColumn.vue,TableColumn.vue主要是使用递归来对表头进行循环生成

DynamicTable.vue

import TableColumn from './TableColumn'

export default {

props: {

// 表格的数据

tableData: {

type: Array,

required: true

},

// 多级表头的数据

tableHeader: {

type: Array,

required: true

},

// 表格的高度

height: {

type: String,

default: '300'

}

},

components: {

TableColumn

}

}

TableColumn.vue

export default {

name: 'tableColumn',

props: {

coloumnHeader: {

type: Object,

required: true

}

}

}

三、使用

HTML代码

JS代码

import DynamicTable from './components/DynamicTable'

export default {

components: {

DynamicTable

},

data () {

return {

searchForm: {

month: getMonth(),

serviceCategory: '1'

},

dynamicTableShow: true, // 使得DynamicTable组件重新渲染变量

// 表数据

tableData: [

{

districtName: '1',

timeDimension: '2',

residentPopNum: '3',

residentPopDst: '4',

liveLandArea: '5',

liveLandDst: '6',

employmentLandArea: '7',

employmentLandDst: '8'

}

],

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值