el-table 纵向垂直表头

html 复制代码
<template>
  <div class="element-main">
    <div> Element-ui 官方提供 table Demo</div>
    <el-table
      border
      style="width: 100%"
      :data="tableData">
      <el-table-column prop="courseName" label="课程信息" width="180"></el-table-column>
      <el-table-column prop="courseBook" label="教材信息" width="180"></el-table-column>
      <el-table-column prop="price" label="单价"></el-table-column>
    </el-table>
    <div>===================================== 分割线 =====================================</div>
    <div>行列转换后的 Demo</div>
    <el-table
      border
      style="width: 100%"
      :data="getValues"
      :show-header="false">
      <el-table-column
        v-for="(item, index) in getHeaders"
        :key="index"
        :prop="item">
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
export default {
  data() {
    return {
      headers: [
        {prop: 'courseName',label: '课程信息'},
        {prop: 'courseBook', label: '教材信息'},
        {prop: 'price',label: '单价'},
      ],
      tableData:[
        {"courseId": 1,"courseName": "英语写作", "courseBook": "英语写作基础教程","price": 3500},
        {"courseId": 2,"courseName": "综合英语(三)",": "新编英语教程2","price": 3350}, 
        {"courseId": 3,"courseName": "英语国家社会与文化","courseBook": "致用英语 英语国家概况 (第二版)","price": 2900 },
        {"courseId": 3,"courseName": "英语国家社会与文化","courseBook": "致用英语 英语国家概况 (第二版)","price": 2900,}
     ],
    }
  },
  computed: {
    getHeaders() {
      return this.tableData.reduce((pre, cur, index) => pre.concat(`value${index}`), ['title'])
    },
    getValues() {
      return this.headers.map(item => {
        return this.tableData.reduce((pre, cur, index) => Object.assign(pre, {['value' + index]: cur[item.prop]}), {'title': item.label,});
      });
    }
  },
};
</script>

参考链接:https://www.jianshu.com/p/1f38eaffd070

相关推荐
Liu.7741 天前
Vue3结合Element Plus封装点击查看大图的自定义指令
javascript·vue.js·elementui
跟着珅聪学java2 天前
Element UI 的 Tabs 标签页开发教程
javascript·vue.js·elementui
不是山谷.:.3 天前
Axios的【接口防抖 + 请求失败重试 + 弱网提示】三合一高阶版封装
前端·javascript·vue.js·笔记·elementui·typescript
镜宇秋霖丶8 天前
2026.5.12@霖宇博客制作中遇见的问题
前端·vue.js·elementui
镜宇秋霖丶11 天前
2026.5.10@霖宇博客制作中遇见的问题
前端·vue.js·elementui
莫生灬灬11 天前
ElementUI封装 共91个组件 支持易语言/火山/C#/Python
开发语言·c++·python·ui·elementui·c#
镜宇秋霖丶13 天前
2026.5.8@霖宇博客制作中遇见的问题
前端·vue.js·elementui
MXN_小南学前端13 天前
Vue + Element UI 分页器封装:比直接用 el-pagination 更省心的通用方案
javascript·vue.js·elementui
invicinble13 天前
前端框架使用vue-cli( 第二层:工程配置层--elementui需要做的基础配置)
vue.js·elementui·前端框架
周bro16 天前
vue2+element ui 中的el-table表格 选中当前行当前行变色,单选/多选--------续集:表格样式修改整合
vue.js·ui·elementui