天天看点

elementui 表格表头竖着显示_element ui 表格表头纵向显示

element ui 提供了table ,根据对象数组 动态展示表格,但是实际需求中,有很多竖向展示表格的需求

效果图:

elementui 表格表头竖着显示_element ui 表格表头纵向显示

原本数据

data: [

{

code: "weixin",

name: "微信",

icon:

"src地址",

isActive: false,

templateInfoList: [

{

code: "confirmation",

name: "人工确认",

isConfiged: true

},

{

code: "executeSuccess",

name: "执行成功",

isConfiged: true

},

{

code: "executeFailure",

name: "执行失败",

isConfiged: true

},

{

code: "beforeCronJobExecute",

name: "定时执行前",

isConfiged: true

},

{

code: "beforeCronJobEnd",

name: "定时结束前",

isConfiged: true

},

{

code: "cronJobFailed",

name: "定时启动失败",

isConfiged: true

}

]

},

{

code: "weixin",

name: "邮件",

icon:

"src地址",

isActive: false,

templateInfoList: [

{

code: "confirmation",

name: "人工确认",

isConfiged: true

},

{

code: "executeSuccess",

name: "执行成功",

isConfiged: true

},

{

code: "executeFailure",

name: "执行失败",

isConfiged: true

},

{

code: "beforeCronJobExecute",

name: "定时执行前",

isConfiged: true

},

{

code: "beforeCronJobEnd",

name: "定时结束前",

isConfiged: true

},

{

code: "cronJobFailed",

name: "定时启动失败",

isConfiged: true

}

]

},

]

element ui table 渲染形式

一条对象数据 为一数列渲染

数据

tableData: [{

date: ‘2016-05-02‘,

name: ‘王小虎‘,

address: ‘上海市普陀区金沙江路 1518 弄‘

}, {

date: ‘2016-05-04‘,

name: ‘王小虎‘,

address: ‘上海市普陀区金沙江路 1517 弄‘

}, {

date: ‘2016-05-01‘,

name: ‘王小虎‘,

address: ‘上海市普陀区金沙江路 1519 弄‘

}, {

date: ‘2016-05-03‘,

name: ‘王小虎‘,

address: ‘上海市普陀区金沙江路 1516 弄‘

}]

效果图:

elementui 表格表头竖着显示_element ui 表格表头纵向显示

4条数据 每一行按照prop 把对应的对象数据得值取出来 并渲染

以我的项目为例,需要6条数据,现在是按照微信 邮件分划的 4条数据 不符合,所以需要转化

人工确认,1,2,3,4,

执行成功,1,2,3,4,

...

这种类型的 6组数据 (就是每一行的数据,这里没有标题)

将数据转化

created() {

//第一行数据为标题 所以要有一个空字符串 预留位置

this.title.push("");

let matrixData = this.data.map(row => {

let arr = [];

this.title.push({

name: row.name,

icon: row.icon,

isActive: row.isActive,

isConfiged: row.isActive

});

for (let key in row.templateInfoList) {

arr.push(row.templateInfoList[key]);

}

return arr;

});

console.log(this.title);

// 加入标题拼接最终的转化好得数据

this.transData = matrixData[0].map((col, i) => {

return [

col.name,

...matrixData.map(row => {

return row[i].isConfiged;

})

];

});

console.log(this.transData);

}

template 结构

渠道

模板

elementui 表格表头竖着显示_element ui 表格表头纵向显示

{{ item.name }}

{{ scope.row[index] }}

按照这个逻辑 就实现了表头纵向显示

原文:https://www.cnblogs.com/GoTing/p/14121602.html