Elemenetplus+Vue3 实现纵向表头

 

<template>
  <el-table style="width: 100%" :data="DemoTableData" :show-header="false">
    <el-table-column v-for="(item, index) in DemoTableHeader" :key="index" :prop="item" >
      </el-table-column>
  </el-table>
</template>


<script setup>
import { ref } from 'vue'

const headers = [
  {
    prop: "date",
    label: "日期",
  },
  {
    prop: "name",
    label: "姓名",
  },
  {
    prop: "address",
    label: "地址",
  },
];
const 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 弄",
  },
];
const DemoTableHeader = getHeaders();
const DemoTableData = getValues();

function getHeaders() {
  return tableData.reduce(
      (pre, cur, index) => pre.concat(`value${index}`),
      ["title"]
  );
}

function getValues() {
  return headers.map((item) => {
    return tableData.reduce(
        (pre, cur, index) =>
            Object.assign(pre, {["value" + index]: cur[item.prop]}),
        {title: item.label}
    );
  });
}


</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值