vue项目两种方式实现竖向表格的思路分析
作者:水冗水孚 发布时间:2024-06-05 15:31:13
标签:vue,竖向,表格
问题描述
在我们做项目中,常见的是横向表格,但是偶尔的需求,也会做竖向的表格。比如下图这样的竖向表格:
我们看到这样的效果图,第一时间想到的是使用UI框架,改一改搞定。但是饿了么UI并没有直接提供这样的案例,部分同学会想着使用饿了么UI中的el-table的合并行、合并列的方式去实现,其实如果这样去做的话,反而做麻烦了。比如下面的合并行合并列:
类似于这样的效果图,其实并不一定非得使用UI组件,有的时候使用原生的方式去做。反而会更方便。本文介绍两种方式去实现这样的简单的竖向表格。实际场景中可能会更加复杂,但是还是那句话,只要有思路,就不是大问题。做编程,关键是思路:
方式一(原生方式)不太推荐
思路就是:表格样式自己画,使用浮动从左往右依次排开
<template>
<div id="app">
<ul class="proWrap">
<template v-for="(item, index) in data">
<li class="proItem" :key="index">
<span>{{ item.title }}</span>
<span>{{ item.value == "" ? "待完善" : item.value }}</span>
</li>
</template>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
data: [
{
title: "重要级别",
value: "666",
},
{
title: "售前状态",
value: "666",
},
{
title: "配合状态",
value: "",
},
{
title: "售前状态",
value: "",
},
{
title: "技术协议状态",
value: "",
},
{
title: "中标厂家",
value: "",
},
{
title: "配合状态",
value: "",
},
{
title: "配合反馈时间",
value: "",
},
],
};
},
methods: {},
};
</script>
<style lang="less" scoped>
#app {
width: 100%;
min-height: 100vh;
box-sizing: border-box;
padding: 50px;
.proWrap {
width: 100%;
border: 1px solid #e9e9e9;
border-right: 0;
border-bottom: 0;
// 每行放几组,这里就除于几
.proItem {
width: 100% / 3;
float: left; // 向左浮动,
span {
display: inline-block;
width: calc(50% - 2px);
height: 50px;
line-height: 50px;
text-align: center;
border-right: 1px solid #e9e9e9;
border-bottom: 1px solid #e9e9e9;
}
span:nth-child(1) {
background: #fafafa;
}
}
// 清除浮动,不清除会导致最左侧的边框消失
&::after {
content: "";
display: block;
clear: both;
}
}
}
// 去掉li的默认样式
li {
list-style-type: none;
}
</style>
方式二(使用栅格布局组件)推荐
使用饿了么自带的栅格系统会方便一些,我们可以如果通过控制el-col的:span属性来设置每行出现几组,多了就自动换行。至于表格的样式,我们自己设置即可。这种方式很简单。代码附上:
<template>
<div id="app">
<el-col :span="howWidth" v-for="(item, index) in tableArr" :key="index">
<div class="box">
<div class="content1">{{ item.key }}</div>
<div class="content2">{{ item.value == "" ? "待完善" : item.value }}</div>
</div>
</el-col>
</div>
</template>
<script>
export default {
data() {
return {
tableArr: [
{
key: "姓名",
value: "孙悟空",
},
{
key: "年龄",
value: 500,
},
{
key: "身高",
value: "山一样高",
},
{
key: "性别",
value: "男",
},
{
key: "住址",
value: "花果山水帘洞",
},
{
key: "学历",
value: "天庭弼马温学历",
},
{
key: "能力",
value: "强",
},
{
key: "外号",
value: "齐天大圣",
},
],
howWidth: 8,
};
},
methods: {},
};
</script>
<style lang="less" scoped>
#app {
width: 100%;
min-height: 100vh;
box-sizing: border-box;
padding: 50px;
.box {
width: 100%;
height: 40px;
display: flex;
border-left: 1px solid #e9e9e9;
border-top: 1px solid #e9e9e9;
.content1 {
width: 40%;
height: 40px;
line-height: 40px;
text-align: center;
background-color: #fafafa;
border-right: 1px solid #e9e9e9;
border-bottom: 1px solid #e9e9e9;
color: #333;
font-size: 14px;
}
.content2 {
width: 60%;
height: 40px;
line-height: 40px;
text-align: center;
background-color: #fff;
border-right: 1px solid #e9e9e9;
border-bottom: 1px solid #e9e9e9;
color: #b0b0b2;
font-size: 14px;
}
}
}
</style>
来源:https://segmentfault.com/a/1190000039832404


猜你喜欢
- 1、安装pip install mediapipe2、代码实现# -*- coding: utf-8 -*-""&quo
- 本文实例讲述了Python常见数据结构之栈与队列用法。分享给大家供大家参考,具体如下:Python常见数据结构之-栈首先,栈是一种数据结构。
- 视频观看视频图像精灵这是我们教程系列“使用 Pygame 进行游戏开发”的第 3 部分。它适用于对游
- 1、主从同步原理主从同步架构图(异步同步)这是最常见的主从同步架构主从同步流程(异步同步)主库把数据变更写入binlog文件从库I/O线程发
- 简单说明这个算法主要工作是测量不同特征值之间的距离,有个这个距离,就可以进行分类了。简称kNN。已知:训练集,以及每个训练集的标签。接下来:
- 开发自定义Web框架接收web服务器的动态资源请求,给web服务器提供处理动态资源请求的服务。根据请求资源路径的后缀名进行判断:如果请求资源
- 目录楔子paramikoSSHClient 的使用connect:实现远程服务器的连接与认证set_missing_host_key_pol
- 前言:在做一个商城项目的时候,需要实现商品搜索功能。说到搜索,第一时间想到的是数据库的 select * from tb_sku where
- 前言:python利用matplotlib库中的plt.ion()函数实现即时数据动态显示:1.非定长的时间轴代码示例:# -*- codi
- 本文实例讲述了python处理图片之PIL模块简单使用方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/env pytho
- 本文实例为大家分享了python交互式图形编程实例的第三部代码,供大家参考,具体内容如下#!/usr/bin/env python3# -*
- NopCommerce为了实现松耦合的框架设计目的,使用了IOC框架:Autofac。据有人测试,Autofac是性能很好的IOC工具。1、
- 所有的计算机程序都可以大致分为两类:脚本型(单次运行)和连续运行型(直到用户主动退出)。脚本型:脚本型的程序包括最早的批处理文件以及使用Py
- 实例如下:import sysdef print_all(module_): modulelist = dir(module_)
- 在C#中,程序采用了的驱动采用了事件驱动而不是原来的消息驱动,虽然.net框架提供的事件已经十分丰富,
- 在计算机程序中,算法是灵魂,是程序的精髓所在。程序执行效率的高低直接取决于算法的优劣,所以计算机算法是计算机课程必修课。算法可以快速计算出我
- 本篇记录通过GO语言操作mongodb,实现的流程包括:初始化项目工程容器方式安装mongo调试运行和编译运行go使用mongo的代码如下,
- 1. vscode相关配置w3c school 手册: https://www.w3school.com.cn/html/inde
- Git设置1.Git安装2.SSH密钥设置 生成密钥ssh-keygen -t rsa -C example@mail.com&n
- 现在需要将course分组,然后选择出每一组里面的最大值和最小值,并保留下来实现下面数据结果:直接使用groupby函数,不能直接达到此效果