首页 > 其他分享 >vue 表格头部创建

vue 表格头部创建

时间:2024-11-08 14:44:57浏览次数:3  
标签:vue center 表格 align lon value 头部 child border

<template>
	<view class="content">
		<div class="table">
			<div class="head flexCenterBox">
				<div class="line" v-for="(item, index) in param" :key="index">
					<div v-if="item.con == 1">
						<div class="box_line loflex" :class="'height'+item.lon">
							<div class="box" v-for="(l, il) in item.lon" :key="il">
								{{item.value[il]}}
							</div>
						</div>
					</div>
					<div v-else>
						<div class="box_line" :class="'height'+(item.child?(item.con+item.child.con-1):item.con)" v-for="(k, cl) in item.con" :key="cl">
							<div v-if="item.child && item.child.con && cl != 0">
								<div v-if="item.child.con == 1">
									<div class="box_line clflex">
										<div class="box" v-for="(l, il) in item.child.lon" :key="il">
											{{item.child.value[il]}}
										</div>
									</div>
								</div>
								<div v-else>
									<div class="box_line" :class="'height'+(item.child?(item.con+item.child.con-1):item.con)" v-for="(kc, clc) in item.child.con" :key="clc">
										<div v-if="item.child.child && item.child.child.con == 1">
											<div class="box_line clflex">
												<div class="box" :class="item.child.child.lon > 1?'rightLine':''" v-for="(l2, il2) in item.child.child.lon" :key="il2">
													{{item.child.child.value[il2]}}
												</div>
											</div>
										</div>
										<div v-else>
											<div class="box" :class="item.child.child.lon > 1?'rightLine':''" v-for="(lc, ilc) in item.child.child.lon" :key="ilc">
												{{item.child.value[ilc]}}
											</div>
										</div>
									</div>	
								</div>
							</div>
							<div v-else>
								<div class="box" v-for="(l, il) in item.lon" :class="item.child.lon > 1?'rightLine':''" :key="il">
									{{item.value[il]}}
								</div>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</view>
</template>

<style lang="less">
	.flexCenterBox{
		display: flex;
		justify-content: left;
		align-items: center;
		text-align: center;
	}
	.height1 {
		height: 120px;
	}
	.height2 {
		height: 60px;
	}
	.height2:nth-child(1) {
		border-bottom: 1px solid #f5f5f5;
	}
	.height3 .box{
		height: 40px;
	}
	.height3 {
		border-bottom: 1px solid #f5f5f5;
	}
	// 多行宽度设置
	.loflex {
		width: 100px;
	}
	.loflex.height3 .box{
		border-bottom: 1px solid #f5f5f5;
	}
	.loflex.height3 .box:last-child{
		border-bottom: none;
	}
	.height3:last-child {
		border-bottom: none;
	}
	.height4 {
		height: 30px;
		border-bottom: 1px solid #f5f5f5;
	}
	.height4:last-child {
		border-bottom: none;
	}
	// 多列 设置单元格宽度
	.rightLine {
		border-right: 1px solid #f5f5f5;
		width: 60px !important;
	}
	.clflex .rightLine:last-child{
		border-right: none;
	}
	.content .table .head .line:last-child {
		border-right: none;
	}
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		.table {
			display: flex;
			justify-content: left;
			align-items: center;
			text-align: center;
			
			.head {
				width: 100%;
				border: 1px solid #f5f5f5;
				.line {
					min-width: 100px;
					text-align: center;
					display: flex;
					justify-content: center;
					align-items: center;
					border-right: 1px solid #f5f5f5;
					.loflex {
						flex-direction: column;
					}
					.box_line {
						display: flex;
						justify-content: center;
						align-items: center;
						text-align: center;
						.box {
							text-align: center;
							font-size: 14px;
							color: #333;
							display: flex;
						    justify-content: center;
						    align-items: center;
							width: 100%;
						}
					}
				}
			}
		}
	}

	
</style>

<script>
	export default {
		data() {
			return {
				param: [
					{
						con: 1,
						lon: 1,
						value: ["测试单元格1"]
					},
					{
						con: 1,
						lon: 1,
						value: ["测试单元格2"]
					},
					{
						con: 1,
						lon: 1,
						value: ["测试单元格3"]
					},
					{
						con: 1,
						lon: 3,
						value: ["测试单元格4","隔壁","介绍"]
					},
					{
						con: 2,
						lon: 1,
						value: ["end"],
						child: {
							con: 2,
							lon: 1,
							value : ["多行"],
							child : {
								con: 1,
								lon: 2,
								value: ["多列1","多列2"]
							}
						}
					},
				]
			}
		},
		onLoad() {

		},
		methods: {

		}
	}
</script>


标签:vue,center,表格,align,lon,value,头部,child,border
From: https://blog.csdn.net/Edwin_jade/article/details/143625797

相关文章

  • vue,for循环为什么不提倡放主键id
    在Vue.js中,v-for循环用于渲染列表时,推荐为每个列表项提供一个key属性,以帮助Vue更高效地更新和复用DOM元素。但是,使用主键id作为key有时并不推荐,原因如下:1.id不一定稳定主键id通常是在数据库中生成的唯一标识符,虽然在数据库中它是唯一的,但在前端应用中,尤其是在......
  • Vite与Vue Cli的区别与详解
    它们的功能非常相似,都是提供基本项目脚手架和开发服务器的构建工具。主要区别Vite在开发环境下基于浏览器原生ES6Modules提供功能支持,在生产环境下基于Rollup打包;VueCli不区分环境,都是基于Webpack。在生产环境下,两者都是基于源码文件的,Rollup和Webpack都是对代码进行......
  • Vuex的基本使用
    文章目录一、Vuex概述1.是什么2.使用场景3.优势4.注意二、如何构建vuex多组件共享数据环境1.创建项目2.创建三个组件3.源代码三、vuex的使用-创建仓库1.安装vuex2.新建`store/index.js`专门存放vuex3.创建仓库`store/index.js`4在main......
  • 真题练习45-Excel电子表格-全国计算机等级考试一级计算机基础及MS Office应用考试【汪
    第45组请根据题目要求,完成下列操作:打开考生文件夹下的电子表格,打开EXCEL.XLSX工作簿文件,按照下列要求完成对此表格的操作并保存。1.选择Sheet1工作表,将A1:G1单元格合并为一个单元格,文字居中对齐;计算每个员工A、B、C三种产品的销售额(每种产品的单价见Sheet1工作表I3:J6单元格......
  • 第三十四章 Vue路由进阶之声明式导航(导航高亮)
    目录一、导航高亮1.1.基于语法1.2.主要代码 二、声明式导航的两个类名2.1.声明式导航类名匹配方式2.2.声明式导航类名样式自定义 ​2.3.核心代码一、导航高亮1.1.基于语法在Vue中通过VueRouter插件,我们可以非常简单的实现实现导航高亮效果VueRouter提......
  • Vue3+AntDesign后台管理系统 | 小蚂蚁云
      项目介绍基于SpringBoot3、SpringSecurity、MybatisPlus、Vue3、TypeScript、Vite、AntDesign、MySQL等技术栈实现的单体前后端分离后台管理系统;后端基于Java语言采用SpringBoot3、SpringSecurity、MybatisPlus、MySQL等主流技术栈,前端基于Vue3、TypeScript、Vite等技术栈......
  • 最全Vue3开源管理系统 | 小蚂蚁云
    框架ElementPlusAntDesignVueNaiveUIArcoDesign简介element-uiVue3版本AntDesign的Vue实现,组件的风格与AntDesign保持同步Vue作者推荐的Vue3ui组件库ArcoDesign主要服务于字节跳动旗下中后台产品的体验设计和技术实现社区活跃度高高中中实现方式单文件Vue单文......
  • Vue3+ElementPlus快速入门 | 小蚂蚁云
       项目介绍基于SpringBoot3、SpringSecurity、MybatisPlus、Vue3、TypeScript、Vite、ElementPlus、MySQL等技术栈实现的单体前后端分离后台管理系统;后端基于Java语言采用SpringBoot3、SpringSecurity、MybatisPlus、MySQL等主流技术栈,前端基于Vue3、TypeScript、Vite等技......
  • Vue项目引入CDN加速
    Vue项目引入CDN加速前言阿里云服务器,如果使用的是1M带宽,在加载样式时,例如ElementUI,Ckeditor的时候,非常的慢,所以考虑是用CDN来加速。引入Vue和Element首先我们需要引入的是Element的CDN加速:传送门目前可以通过unpkg.com/element-ui获取到最新版本的资源,在页面上引入......
  • jeecg使用vue-pdf 和print-js实现pdf预览和打印
    前言近期我正在开发一个前后端分离项目,使用了SpringBoot和Vue2,借助了国内优秀的框架jeecg,前端UI库则选择了ant-design-vue。在项目中,需要实现文件上传功能,同时还要能够在线预览和下载图片和PDF文件,甚至需要在页面上直接打印PDF文件。尽管框架自带了vue-print-nb-jeecg组件......