在Vue中有什么方法实现竖向表格,代码是什么
Admin 2022-06-20 群英技术资讯 767 次浏览
在我们做项目中,常见的是横向表格,但是偶尔的需求,也会做竖向的表格。比如下图这样的竖向表格:
我们看到这样的效果图,第一时间想到的是使用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>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
进度条效果是我们在前端开发中经常会遇到的需求,进度条效果我们能应用在音乐播放,视频播放等等。那么这种效果我们要如何实现呢?下面小编就和大家分享用原生JavaScript实现进度条的原理、步骤以及代码。
本文详细介绍了从vue的组件传值着手观察者模式,感兴趣的同学,可以参考下,理解其原理。
很多人比较好奇用javascript如何来统计字符的个数?这篇文章小编就给大家分享下用JavaScript统计字符串中字符出现的次数的代码,有需要或者感兴趣的朋友可以深入了解一下。
我们在写代码的时候考虑到,代码是写给别人看的,给别人用的,而且要注意的代码的可读性,可维护性,易用性等等,因此提高代码质量是很有必要的。那么我们如何提高js代码质量呢?下面小编就给大家分享一些提高Javascript代码质量的技巧。
有时候在开发的过程中发现一个Angular项目不太够用,两个独立的项目又不太好复用,这时便需要将原来的Angular项目简单做个升级,这篇文章主要给大家介绍了关于将Angular单项目升级为多项目的相关资料,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008