当前位置: 首页 > news >正文

elementplus el-table(行列互换)转置

Element Plus v2.4.0, repl v3.4.0

<template>
<div><el-table :data="tableData" style="width: 100%"><el-table-column prop="name" label="名字" width="180" /><el-table-column prop="weight" label="重量" width="180" /><el-table-column prop="maxWeight" label="最大重量" width="180" /><el-table-column prop="height" label="高度" width="180" /><el-table-column prop="width" label="宽度" width="180" /><el-table-column prop="speed" label="速度" width="180" /></el-table><!-- 转置代码 --><div>转置table</div><el-table :data="trans_tableData" style="width:100%"><el-table-columnprop="title"label=""></el-table-column><el-table-columnv-for="(item,index) in props":key="index":prop="item.value":label="item.label"><template v-slot:header><span v-html="item.label"></span></template><template v-slot="{ row }"><span>{{ row[item.value] }}</span></template></el-table-column>
</el-table>
</div>
</template><script lang="ts" setup>
let tableData = [{name: '歼-20',weight: '25吨',maxWeight: '37吨',height: '4.69米',width: '21.2米',speed: '2马赫'},{name: '歼-20-1',weight: '25吨-1',maxWeight: '37吨-1',height: '4.69米-1',width: '21.2米-1',speed: '2马赫-1'}]
const props = tableData.map((t) => {return {label: t.name,value: t.id || t.name}
})
console.log("props=",props)
function isExist (newArr, name) {for (let i = 0; i < newArr.length; i++) {if (newArr[i].title === name) {return newArr[i]}}return false
}/***  定义映射字段表(最好取全量字段)* */
const mapObj = {name: '名称',weight: '重量',maxWeight: '最大载重',height: '高度',width: '宽度',speed: '速度'}
const newArr = []
for (const t in mapObj) {for (let i = 0; i < tableData.length; i++) {const item = tableData[i]const result = isExist(newArr, mapObj[t])if (result) {result[item.name] = item[t] || ''} else {const obj = {}obj.title = mapObj[t]obj[item.name] = item[t] || ''newArr.push(obj)}}
}
console.log("newArr",newArr)
const trans_tableData = newArr
</script>

在这里插入图片描述

http://www.lryc.cn/news/382473.html

相关文章:

  • Gradle 核心之 Task
  • 【React 】折叠面板,点击展开时再请求数据
  • c++学习 文件操作,模板
  • 开源与在线 M3U8 Downloader 项目介绍及使用指南
  • 正则表达式与文本处理器
  • RedisTemplate方法一览表
  • 个人对devops的一点见解
  • HarmonyOS鸿蒙应用开发基础知识
  • Halcon 根据霍夫变换在图像中寻找直线
  • 基于Openmv的追小球的云台
  • 关于scrapy模块中setting.py文件的介绍
  • laravel Blade 指令的趣味性
  • 【面试题】等保(等级保护)的工作流程
  • python调用麦克风和扬声器,并调用阿里云实时语音转文字
  • 描述在React中集成第三方库(如Redux或React Router)的常见模式。
  • JavaScript语法特性篇-空值合并运算符(??)
  • rancher快照备份至S3
  • ChatGPT API教程在线对接OpenAI APIKey技术教程
  • 随心而遇,跟着感觉走
  • LeetCode题练习与总结:只出现一次的数字--136
  • 常见的中间件都在解决什么问题?
  • 微信小程序-scroll-view实现上拉加载和下拉刷新
  • TS中interface和type的区别
  • Hightec编译器系列之高级调试技巧精华总结
  • 【论文笔记】LoRA LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS
  • 【Sa-Token|4】Sa-Token微服务项目应用
  • 鸿蒙开发系统基础能力:【@ohos.hilog (日志打印)】
  • SpringMVC系列十: 中文乱码处理与JSON处理
  • 使用MyBatisPlus进行字段的自动填充
  • python爬虫之aiohttp多任务异步爬虫