vue项目实现table表格竖向

news2024/9/19 10:44:14

先上图

思路:使用element ui 自带的栅格,通过控制el-col 的span 属性来设置每行展示多少行(竖着的字段),超过就自动换行;

content1 是表头

content2是返回的数据

getTable()函数是将返回的正常数据进行处理,和表格字段相对应

表格样式在代码中有注释

代码:

<template>
  <div>
    <el-drawer
      title="对比"
      :visible.sync="drawer"
      :direction="direction"
      :before-close="handleClose"
      size="1000px"
    >
      <div style="margin:31px;">
        <div style="height:408px;overflow-x: auto;overflow-y: hidden;">
          <el-col :span="howWidth" v-for="(item, index) in columns" :key="index">
            <div class="box">
              <div class="content1">
                <div style="width:130px">{{ item.label }}</div>
              </div>
              <div v-for="(itC,itN) in item.value" :key="itN" class="content2">
                <div
                  :title=" itC.length > 8 ?itC:''"
                >{{ itC.length > 8 ? itC.slice(0,8)+'...' : itC }}</div>
              </div>
            </div>
          </el-col>
        </div>
      </div>
    </el-drawer>
  </div>
</template>
<script>
export default {
  data() {
    return {
      drawer: false,
      direction: "rtl",
      howWidth: 13,
      columns: [
        {
          prop: "gunName",
          label: "电枪名称",
          width: "200"
        },
        {
          prop: "gunMeter",
          label: "电表当前读数",
          width: "200"
        },
        {
          prop: "gunOutVolt",
          label: "电表输出电压",
          width: "200"
        },
        {
          prop: "gunOutElec",
          label: "电表输出电流",
          width: "200"
        },
        {
          prop: "gunCharged",
          label: "已充电量",
          width: "200"
        },
        {
          prop: "gunNeedVolt",
          label: "需求电压",
          width: "200"
        },
        {
          prop: "gunNeedElec",
          label: "需求电流",
          width: "200"
        },
        {
          prop: "gunSurveyVolt",
          label: "测量电压",
          width: "200"
        },
        {
          prop: "gunBtrVolt",
          label: "电池电压",
          width: "200"
        },
        {
          prop: "gunBtrElec",
          label: "电池电流",
          width: "200"
        }
      ]
    };
  },
  methods: {
    open() {
      this.drawer = true;
      this.getTable();
    },
    getTable() {
      let tableData = [
        {
          gunName: "1",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "111111111111111111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "2",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "3",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "4",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "5",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "6",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "7",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "8",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "9",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        },
        {
          gunName: "10",
          gunMeter: "枪号",
          gunOutVolt: "bb",
          gunOutElec: "tt",
          gunCharged: "xxxx",
          gunNeedVolt: "cccc",
          gunNeedElec: "1111111",
          gunSurveyVolt: "1111111",
          gunBtrVolt: "1111111",
          gunBtrElec: "1111111"
        }
      ];
      this.columns.forEach(item => {
        item.value = [];
        for (let i in tableData) {
          for (let j in tableData[i]) {
            console.log("j", j);
            if (item.prop == j) {
              item.value.push(tableData[i][j]);
            }
          }
        }
      });

      console.log("this.columns[item]", this.columns);
    },
    handleClose() {
      this.drawer = false;
    }
  }
};
</script>
<style lang="less" scoped>
.box {
  width: 100%;
  height: 40px;
  display: flex;
  .content1 {
    width: 130px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: #e7f2fd;
    border-right: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    border-left: 1px solid #409eff;
    color: #252525;
    font-size: 14px;
    font-weight: 700;
    position: absolute;  //表头固定
  }
  .content2:nth-child(odd) {  //对奇数列样式进行设置
    min-width: 200px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #f4f8fc;
    color: #666666;
    border-right: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    font-size: 14px;
  }
  .content2:nth-child(2) {
    margin-left: 130px !important; //表头固定后,数据内容的第一列需要设置左边距空出表头的宽度
  }
  .content2:nth-child(even) {  //对偶数列样式进行设置
    min-width: 200px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background: #fff;
    color: #666666;
    border-right: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
    font-size: 14px;
  }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1006036.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL12 高级操作符练习(2)

描述 题目&#xff1a;现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研&#xff0c;请你取出相关数据&#xff08;使用OR实现&#xff09; 示例&#xff1a;user_profile iddevice_idgenderageuniversitygpa12138male21北京大学3.423214male复旦大学4.03…

【SpringMVC】工作流程入门案例的使用

目录 一、什么是SpringMVC 二、SpringMVC的请求流程 三、SpringMVC的优点 四、Spring MVC的主要组件 五、SpringMVC常用注解 六、入门案例演示 6.1.添加pom.xml 6.2.创建spring-mvc.xml 6.3.配置web.xml 6.4.SpringMVC配置Web 6.5.JSP页面编写 七、扩展 7.1.Spring…

全科医学科常用评估量表汇总,建议收藏!

根据全科医学科医生的量表使用情况&#xff0c;笔者整理了10个常用的全科医学科量表&#xff0c;可在线评测直接出结果&#xff0c;可转发使用&#xff0c;可生成二维码使用&#xff0c;可创建项目进行数据管理&#xff0c;有需要的小伙伴赶紧收藏&#xff01; 日常生活能力量表…

HarmonyOS Codelab 优秀样例——溪村小镇(ArkTS)

一、介绍 溪村小镇是一款展示溪流背坡村园区风貌的应用&#xff0c;包括园区内的导航功能&#xff0c;小火车行车状态查看&#xff0c;以及各区域的风景展览介绍&#xff0c;主要用于展示HarmonyOS的ArkUI能力和动画效果。具体包括如下功能&#xff1a; 打开应用时进入启动页&a…

白灯和黄灯哪个对眼睛好?那些专家推荐的护眼灯

随着电子产品普及&#xff0c;虽然给我们生活带来了很多便利&#xff0c;不过也因此有不少人用眼过度导致近视。尤其是孩子&#xff0c;如今不少小孩小小年纪就戴上了眼镜&#xff0c;究其原因&#xff0c;除了繁重的课业还有户外运动的缺失、环境光照的不足、用眼卫生和习惯的…

SpringMVC系列(一)之SpringMVC入门详细介绍

一. SpringMVC简介 Spring MVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架&#xff0c;通过把Model&#xff0c;View&#xff0c;Controller分离&#xff0c;将web层进行职责解耦&#xff0c;把复杂的web应用分成逻辑清晰的几部分&#xff0c;简化开发&a…

Android Studio的笔记--aidl实现和调用

android AIDL接口使用 aidl实现新建aidl实现工程build.gradleproguard-rules.pro增加aidl文件 增加aidl实现aidl实现服务打开aidl服务 aidl使用新建aidl使用工程增加aidl文件使用aidl方法 相关回显 aidl实现 新建aidl实现工程 新建一个工程。工程名testaidl。包名com.lxh.tes…

第 3 章 栈和队列 (使用线性链表和队列实现银行业务模拟)

1. 背景说明 该模拟业务基于时间线来确定&#xff0c;当事件发生时&#xff0c;通过插入升序链表来模拟时间线记录事件发生时间、类型&#xff0c;类似于记事本&#xff0c;由于 时间是单向的&#xff0c;正好符合队列的先进先出特性&#xff0c;类似于我们生活中的排队行为。…

小程序类找茬游戏开发:创造富有挑战性和娱乐性的游戏体验

小程序找茬游戏是一种受欢迎的益智娱乐游戏&#xff0c;玩家需要在两幅几乎相同的图片中找出差异。这种类型的游戏结合了观察力和注意力&#xff0c;提供了有趣的挑战。在本文中&#xff0c;我们将讨论如何开发小程序找茬游戏&#xff0c;以及关键特点和开发流程。 小程序找茬…

初露头角!Walrus入选服贸会“数智影响力”数字化转型创新案例

9月5日&#xff0c;由北京市通信管理局、工业和信息化部新闻宣传中心联合主办的“企业数字化转型论坛”在2023中国国际服务贸易交易会期间召开&#xff0c;论坛以“数字化引领 高质量发展”主题&#xff0c;旨在探讨信息技术如何与各行业深度融合&#xff0c;构建数字化转型新格…

C++vector模拟实现

vector模拟实现 1.构造函数2.拷贝构造3.析构赋值运算符重载4.iterator5.modifiers5.1push_back5.2pop_back5.3empty5.4insert5.5erase5.6swap 6.Capacity6.1size6.2capacity6.3reserve6.4resize6.5empty 7.Element access7.1operator[]7.2at 8.在谈reserve vector官方库实现的是…

SpringBoot整合Redis,基于Jedis实现redis各种操作

前言&#xff08;三步教你学会redis&#xff0c;主打一个实用&#xff09; springboot整合redis步骤&#xff0c;并基于jedis对redis数据库进行相关操作&#xff0c;最后分享非常好用、功能非常全的redis工具类。 第一步&#xff1a;导入maven依赖 <!-- springboot整合re…

C++之智能指针shared_ptr死锁问题(二百)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Hadoop生态圈中的Flume数据日志采集工具

Hadoop生态圈中的Flume数据日志采集工具 一、数据采集的问题二、数据采集一般使用的技术三、扩展&#xff1a;通过爬虫技术采集第三方网站数据四、Flume日志采集工具概述五、Flume采集数据的时候&#xff0c;核心是编写Flume的采集脚本xxx.conf六、Flume案例实操1、采集一个网络…

卫星地图-航拍影像-叠加配准套合(ArcGIS版)

卫星地图-航拍影像-叠加配准套合(ArcGIS版) 发布时间&#xff1a;2018-01-17 版权&#xff1a;BIGEMAP 第一步 工具准备 BIGEMAP地图下载器&#xff1a;Bigemap系列产品-GIS行业基础软件kml\shp 相关教程&#xff1a;CAD文件直接导入BIGEMAP进行套合配准&#xff08;推荐&am…

苹果笔不用原装可以吗?苹果ipad触控笔推荐

很多小伙伴在纠结&#xff0c;是否要购买apple pencil呢&#xff1f;但它的价格太过昂贵&#xff0c;很多学生党都消费不起。答案是不一定的要入手apple pencil的。市面上也是有做得相当不错的平替电容笔。现在无纸化已经快成为我们生活中的一部分&#xff0c;它不仅是可以书写…

新网站怎么优化才能提升排名-彻底解决新网站没收录和排名的问题

新网站怎么优化才能提升排名&#xff1f;辛辛苦苦搭建起网站后&#xff0c;却不知如何优化网站提升排名&#xff0c;也没有一个完整的思路和策略&#xff0c;今天做为行业资深SEO的我&#xff0c;来为大家理清SEO思路&#xff0c;彻底解决新网站没收录和排名的问题&#xff01;…

网站不收录没排名降权怎么处理-紧急措施可恢复网站

网站降权对于SEO人员来说是非常致命的打击&#xff0c;因为网站一旦被搜索引擎降权&#xff0c;排名会严重地下降&#xff0c;网站的流量也会大幅下降&#xff0c;直接影响到收益。而且处理不好的话会导致恢复的时间周期无限拉长&#xff0c;所以网站被降权后我们要第一时间采取…

8月客户文章盘点——累计IF 168.4,平均IF 8.42

客户文章一览 凌恩生物以打造国内一流生物公司为目标&#xff0c;在科研测序领域深耕不辍&#xff0c;吸纳多名在生物信息高级技术人员的加盟&#xff0c;参与并完成多个高科技项目。现已在宏组学、基因组、表观遗传以及蛋白代谢等多组学及联合分析领域积累了深厚经验&#xff…

软件测试总结1

1、 什么是软件测试? 答: 软件测试是在规定的条件下对程序进行操作&#xff0c;以发现错误&#xff0c;对软件质量进行评估。 什么是软件测试&#xff1a; 明确地提出了软件测试以检验是否满足需求为目标。 1、保证软件质量的重要手段 预期 ≈ 实际 2、 软件测试的意义 给…