mysql 定义多级表头_iview自定义实现多级表头

本文介绍了如何利用iview组件库自定义实现多级表头,通过控制thead和tbody的显示隐藏来拼接表格,特别地,注意设置非合并列的宽度以保持列宽一致性。示例中展示了表格列数不固定的情况,并提供了相关的CSS代码来调整样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近更新: 2018-07-19

注意:最新版iview已经提供多级表头功能 参考

原理:利用多个Table组件通过显示和隐藏thead和tbody来拼接表格(较粗暴)

417e059905346f93b8aae2d952cd119b.png

html

javascript

非合并而来的列,请注意设置宽度(如下的宽度160)否则会被均分导致下面的行的列宽度不一致

这里是表格列数不固定的示例

data() {

return {

columns0: [],

columns1: [],

columns2: [],

columns: [],

dataNull: [],

data: [

{

name: 'Hewitt',

values: [10, 11, 12, 13, 14, 15]

}

],

dates: []

};

},

created() {

const dates = [2016, 2017];

const WIDTH = 160;

this.columns0 = [{ title: '模块名称', width: WIDTH, align: 'center' }, { title: 'PV/UV', align: 'center' }];

this.columns1 = [

{ renderHeader: () => (''), width: WIDTH },

{ title: '总计' },

...dates.map(v => ({ title: v }))

];

const tempC2 = [{ renderHeader: () => (''), width: WIDTH }, { title: 'PV' }, { title: 'UV' }];

dates.forEach(() => {

tempC2.push({ title: 'PV' });

tempC2.push({ title: 'UV' });

});

this.columns2 = tempC2;

const tempC3 = [{ title: 'Name', key: 'name', width: WIDTH, align: 'center' }];

for (let i = 0, l = (dates.length * 2) + 2; i < l; i++) {

tempC3.push({ title: '', render: (h, p) => p.row.values[i] });

}

this.columns = tempC3;

}

css

这里主要隐藏tbody和thead,以及删除header的一些border样式

.ud-table-no-body tbody{

display: none;

}

.ud-no-t-b.ivu-table-wrapper{

border-top: 0 ;

}

.ud-no-b-b .ivu-table:before{

background-color: #fff;

}

.ud-table-no-header thead{

display: none ;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值