el-table实现动态表头,自定义斑马纹等功能

需求:1.根据选择的日期时间,实现表头的动态显示功能

           2.修改默认表头灰色样式,

           3.斑马纹偶数灰色改为奇数为灰色

           4.表格某一行加分割线区分

1.效果

 2.动态表格实现

1.height:表格的高度设置,内容超出后会显示滚动条,高度固定

2.:row-class-name:行类名,用作设置斑马纹

这俩个就是时间了一个开始一个结束时间,在表头显示

  <div v-if="scope.column.property === 'start' && contrastTime.length > 0">{{ startdata }}</div><div v-else-if="scope.column.property === 'end' && contrastTime.length > 0">{{ enddata }}</div>

1.type="datetimerange":表示是时间日期选择器

2.:picker-options="pickerOptions",给选择器加上个快捷的日期选项,最近一周,最近一个月,最近三个月

3.    value-format="yyyy-MM-dd HH:mm:ss",选择好后自动把时间和日期改为"yyyy-MM-dd HH:mm:ss这种格式

  <el-date-pickerv-model="contrastTime"type="datetimerange"align="right"range-separator="至"start-placeholder="开始日期"end-placeholder="结束日期"@change="updateTableHeader":picker-options="pickerOptions"value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>

斑马纹根据行的index来选择奇数或者偶数的类名是什么

       setRowClassName({ rowIndex }) {return rowIndex % 2 === 0 ? 'even-row' : 'odd-row';},

3.完整代码

<!--* @Descripttion: el-table实现动态表头,自定义斑马纹等功能* @Author: 叫我欧皇大人* @email: 13071200550@163.com* @Date: 2023-07-14 
-->
<template><div class="content-box"><div class="container"><div class="header"><el-date-pickerv-model="contrastTime"type="datetimerange"align="right"range-separator="至"start-placeholder="开始日期"end-placeholder="结束日期"@change="updateTableHeader":picker-options="pickerOptions"value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker></div><el-table :data="tableData" height="calc(100vh - 64px - 130px - 200px)" :row-class-name="setRowClassName"><el-table-columnv-for="(header, index) in tableHeaders":key="header.prop":prop="header.prop":label="header.label":width="header.width"align="center"><template slot="header" slot-scope="scope"><div>{{ header.label }}</div><div v-if="scope.column.property === 'start' && contrastTime.length > 0">{{ startdata }}</div><div v-else-if="scope.column.property === 'end' && contrastTime.length > 0">{{ enddata }}</div></template></el-table-column></el-table></div></div>
</template><script>
export default {data() {return {startdata: '',enddata: '',tableData: [{ name: '数据1', start: 'A-B-C', end: '结束数据', age: 18 },{ name: '数据1', start: 'A-B-C', end: '结束数据', age: 18 },{ name: '数据1', start: 'A-B-C', end: '结束数据', age: 18 },{ name: '数据1', start: 'A-B-C', end: '结束数据', age: 18 }],tableHeaders: [{ prop: 'name', label: '姓名', width: '200' },{ prop: 'start', label: '开始', width: '200' },{ prop: 'end', label: '结束', width: '200' },{ prop: 'age', label: '年龄', width: '80' }],contrastTime: [],pickerOptions: {shortcuts: [{text: '最近一周',onClick(picker) {const end = new Date();const start = new Date();start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);picker.$emit('pick', [start, end]);}},{text: '最近一个月',onClick(picker) {const end = new Date();const start = new Date();start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);picker.$emit('pick', [start, end]);}},{text: '最近三个月',onClick(picker) {const end = new Date();const start = new Date();start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);picker.$emit('pick', [start, end]);}}]}};},mounted() {},methods: {// 斑马纹setRowClassName({ rowIndex }) {return rowIndex % 2 === 0 ? 'even-row' : 'odd-row';},updateTableHeader() {this.startdata = this.contrastTime[0];this.enddata = this.contrastTime[1];}}
};
</script><style lang="scss" scoped>
.header {margin-bottom: 50px;margin-left: 300px;
}
/deep/ .el-table thead th {background-color: #fff !important;color: #000000;font-weight: bold;
}
// 斑马纹
/deep/ .even-row {background-color: #f5f5f5; /* 偶数行为灰色 */
}/deep/ .odd-row {background-color: #fff; /* 奇数行为白色 */
}
// 给表格加竖线
/deep/ .el-table tbody tr td:nth-child(1) {border-right: 1px solid #e2e3e6;
}
</style>

文章到此结束,希望对你有所帮助~

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JAVAEE】JVM中垃圾回收机制 GC

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE初阶 上篇文章我们讲了java运行时内存的各个区域。 传送门&#xff1a;【JavaEE】JVM的组成及类加载过程_xyk:的博客-CSDN博客 对于程序计数器、虚拟机栈、本地方法栈这三部分区域而言&#x…

KEIL安装额外版本的arm compiler v6.16 v5.06update7

很多时候安装了一个版本的keil&#xff0c;但是别人的工程是拿另一个版本做的&#xff0c;重新安装也不是不行&#xff0c;但是会占很多地方&#xff0c;文件关联也很乱套&#xff0c;所以记录一下怎么安装额外的&#xff0c;比如我的是keil mdk530&#xff0c;自带Compiler v6…

Unity平台如何实现RTSP转RTMP推送?

技术背景 Unity平台下&#xff0c;RTSP、RTMP播放和RTMP推送&#xff0c;甚至包括轻量级RTSP服务这块都不再赘述&#xff0c;今天探讨的一位开发者提到的问题&#xff0c;如果在Unity下&#xff0c;实现RTSP播放的同时&#xff0c;随时转RTMP推送出去&#xff1f; RTSP转RTMP…

5.2 Python高阶特性之---切片迭代

一、 切片 一般用于提取指定区间内的内容&#xff0c;常用于&#xff1a;str、list、tuple等类型的的局部变量&#xff0c;如下为具体案例1、 【列表切片】 res_list [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]1&#xff09; 无步长: …

k8s概念介绍

目录 一 整体架构和组件基本概念 1.1 组件 1.1.1 master节点 1.1.2 node节点 1.1.3 附加组件 二 资源和对象 2.1 资源分类 2.2 元数据资源 Horizontal Pod Autoscaler&#xff08;HPA&#xff09; PodTemplate LimitRange 2.3 集群资源 namespace Node ClusterRo…

Android JNI 异常处理 (十一)

🔥 Android Studio 版本 🔥 🔥 创建包含JNI的类 JNIException.java 🔥 package com.cmake.ndk1.jni;public class JNIException {static {System.loadLibrary("exception-lib");}public native void nativeInvokeJavaException();public native void nativ…

基于vue3+pinia2仿ChatGPT聊天实例|vite4.x仿chatgpt界面

原文&#xff1a;基于vue3pinia2仿ChatGPT聊天实例|vite4.x仿chatgpt界面 基于vue3pinia2仿ChatGPT聊天实例|vite4.x仿chatgpt界面 使用vue3pinia2开发仿制chatgpt界面聊天实例Vue3-Chatgpt 基于Vue3.xPinia2VueRouterVue3-Markdown等技术构建仿ChatGPT网页端聊天程序。支持经…

电机驱动系列(1)--例程下载演示

电机驱动系列&#xff08;1&#xff09; 使用设备连线实操感想 使用设备 硬件&#xff1a;野火骄阳板–STM32F407IGT6&#xff0c;野火无刷电机驱动板&#xff0c;PMSM电机软件&#xff1a;MCSDK&#xff0c;STM32CubeMX&#xff0c;Keil5软件安装注意事项&#xff1a;MCSDK-F…

Android 14适配

Google I/O 2023 发布的 Android beta2 &#xff0c;Android 14 将在2023年第三季度发布。Google Play 已经开始强制要求targetSdkVersion 33适配&#xff0c;所以 targetSdkVersion 34适配也是非常有必要的。 前台服务类型&#xff08;Foreground service types are required&…

day36-JSON+Servlet

0目录 JSONServlet 1.JSONServlet 1.1 创建工程/导入依赖/创建包/BaseDao...... 依赖&#xff1a;javax.servlet、jstl、mysql、taglibs、fastjson <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <…

STM32 Proteus UCOSII系统锅炉报警系统设计压力温度水位-0059

STM32 Proteus UCOSII系统锅炉报警系统设计压力温度水位-0059 Proteus仿真小实验&#xff1a; STM32 Proteus UCOSII系统锅炉报警系统设计压力温度水位-0059 功能&#xff1a; 硬件组成&#xff1a;51单片机 8位数码管MAX7219数码管驱动模块多个按键LED灯蜂鸣器 1.准确测量…

PyTorch: 池化-线性-激活函数层

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 pytorch教程 也可获取。 文章目录 nn网络层-池化-线性-激活函数层池化层最大池化&#xff1a;nn.MaxPool2d()nn.AvgPool2d()nn.MaxUnpool2d()线性层激…