【VUE3】ElementUI--el-date-picker下拉控件样式修改(高亮显示设置)

2023-11-13

ElementUI--el-date-picker下拉控件样式修改

一些废话

	默默做前端,分享一些自己在项目需求实现中遇到的奇妙问题
	(主要是网上搜索不到解决办法自己解决后的总结方法和解决办法但不全面,自己整理总结的存档)。

事发背景

	ElementUI的日期选择器有默认样式,即给默认接收或者当前的年、月、日加入高亮显示。
	但这次在项目实现后需求验收后要求把选中后的年、月、日变成高亮显示,默认的高亮移除。


可以看到在截图中这个日期默认高亮显示的是30号,但是我选中其他日期后30号这个数字的高亮并没有移除。
年、月的样式同理。
在这里插入图片描述
这显然是不符合需求的,但是又需要用到这些控件,所以就可以通过style来改写el-date-picker的对应样式,以使组件达到需求要求的效果。

实现效果

于是我通过一些查找和样式的改变做出了这个需求需要的效果,如下所示:
默认选中当前年份时:在这里插入图片描述
删除选中时:在这里插入图片描述
选中任意一个年份时:在这里插入图片描述
月的选中与日的选中效果也是与年一致。
月选中效果:在这里插入图片描述
日选中效果:在这里插入图片描述

实现思路

  1. 找到原始组件选中某个日期,ctrl+F5弹出检查窗口,找到这个高亮的css样式;
    在这里插入图片描述
  2. 然后我们可以得知date-picker组件要使当前日期高亮的css写法为
.el-month-table td.today .cell{
    color: var(--el-color-primary);
    font-weight: 700;
}

我们如果要取消这个高亮,就是把它设置成普通样式!

.el-month-table td.today .cell { // 月份
    font-weight: normal; // 字体加粗程度改成不加粗
    color: #606266; // 未选中状态的日期颜色
 }
  1. 基于这个基础我们就可以其他选择器的css的写法应为:
.el-date-table td.today .el-date-table-cell__text { // 日
    font-weight: normal;
     color: #606266;
  }
  .el-year-table td.today .cell { // 年
    font-weight: normal;
    color: #606266;
  }
  1. 此时页面里就成功得到了日期的选中状态圆圈高亮和年月的选中状态不加粗高亮;

在这里插入图片描述
在这里插入图片描述

  1. 可以看到日期选中器的高亮效果是可以的,但是年和月的选择器高亮效果太素了,甚至没有加粗,所以我们可以再进行一些润色,让这个日期选择器整体看起来都是一个样式的比较协调;
.el-year-table td.current:not(.disabled) .cell{
    color: #ffffff;
    font-weight: bold !important;
    background-color: #409eff;
    border-radius: 100px; // 设置100是为了让它很圆乎
  }

效果如下,就跟日期选择器一样协调了,月选择器的写法也是一样
在这里插入图片描述

总结和完整代码

在vue项目中,因 element-UI的时间选择器 el-date-picker 是将元素直接挂载到页面的中,而非自身元素下,所以使用 /deep/、 >>>、 ::v-deep 等穿透无法定位到元素,所以我们可以利用时间选择器的popper-class属性,给下拉框设置样式。

在这里插入图片描述

<el-date-picker
  v-model="value"
  type="year" // 年份选择器
  placeholder="请选择"
  format="YYYY"
  value-format="YYYY"
  popper-class="date_form"
/>

然后在src>assets>style里创建table_style.scss,在该文件内进行样式编写

.date_form {
  .el-year-table td.current:not(.disabled) .cell{
    color: #ffffff;
    font-weight: bold !important;
    background-color: var(--el-datepicker-active-color); // 这里应用的是项目的默认样式颜色,跟整个系统保持统一
    border-radius: 100px;
  }
  .el-year-table td.today .cell {
    font-weight: normal;
    color: #606266;
  }
  .el-month-table td.current:not(.disabled) .cell{
    color: #ffffff;
    font-weight: bold !important;
    background-color: var(--el-datepicker-active-color);
    border-radius: 100px;
  }
  .el-month-table td.today .cell {
    font-weight: normal;
    color: #606266;
  }
  .el-date-table td.today .el-date-table-cell__text {
    color: #606266;
    font-weight: normal;
  }
  .el-date-table td.current:not(.disabled) .el-date-table-cell__text {
    color: #ffffff;
    font-weight: bold !important;
    background-color: var(--el-datepicker-active-color);
  }
}

最后在main.ts引入即可完成样式的修改

import "@/assets/style/table_style.scss";

参考资料

  1. https://blog.csdn.net/qq_21113235/article/details/126521564.
  2. https://www.cnblogs.com/min77/p/14511750.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【VUE3】ElementUI--el-date-picker下拉控件样式修改(高亮显示设置) 的相关文章

随机推荐

  • 3D茶壶绘制_2021秋季《计算机图形学》_基于《计算机图形学(第四版)》D.H.&M.P.B.&W.R.C.

    一 实验目的 绘制3D茶壶 形状为传统的紫砂茶壶 用光照模型着色 用键盘实现旋转 二 实验环境 Visual Studio 2019 Windows 10 三 算法分析与设计 四 实验结果 旋转 五 附录 include
  • pycharm之pip

    不知道朋友们用过maven没有 使用JAVA编程的人应该有人用过这个有趣的东西 JAVA导包是容易的 然而 懒是没有极限了 所以maven出来了 一个丰满的开发包仓库 不需要你再去哪儿找找找 但是这又算得了什么 我们伟大的Python怎么可
  • Android网络开源库-Retrofit(二) 文件上传、下载及进度监听

    1 写在前面的话 首先说明 我还没太搞懂retrofit 目前 这篇博客只能给出这几个内容 文件上传 文件下载 文件下载的进度监听 还有这两点没弄好 多文件一次上传 批量上传 文件上传进度监听 当前使用版本 compile com squa
  • 使用element UI的日期选择器,默认显示当天日期及7天前日期

    方法一 采用选择器 type datetimerange 默认获取内容为时间戳
  • 毕业设计-基于机器视觉的路面裂缝检测装置-OpenCV

    目录 前言 课题背景和意义 实现技术思路 一 系统架构及工作原理 二 图像传输和处置 三 裂缝检测 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力
  • oracle驱动重启吗,Troubleshooting for oracle

    本文总结与归纳了平常遇到的一些关于Oracle 18c的错误以及处理方法 会不定期的进行更新 1 dbca Fails With PRCR 1006 PRCR 1071 CRS 2566 这里的asm环境使用了Oracle ASM Filt
  • BGP基础实验(4)联邦划分

    目录 前言 一 实验拓扑图 二 实验目的 三 实验配置 1 路由器声明BGP进程 2 普通EBGP邻居建立 3 联邦IBGP邻居建立 4 联邦EBGP邻居建立 四 实验观测 五 实验总结 前言 网盘资源 BGP基础实验 联邦划分 zip 蓝
  • Linux01-虚拟机安装(VMware15+CentOS7)

    一 虚拟机介绍 虚拟机 Virtual Machine 指通过软件模拟的具有完整硬件系统功能的 运行在一个完全隔离环境中的完整计算机系统 在实体计算机中能够完成的工作在虚拟机中都能够实现 在计算机中创建虚拟机时 需要将实体机的部分硬盘和内存
  • 使用百度AI开放平台进行车牌识别

    文章目录 百度AI开放平台车牌识别使用 1 产生token 2 车牌识别 3 解析结果 参考 本文介绍了如何使用百度AI开放平台获取token 以及如何调用百度API接口 请求车牌识别 以及对结果进行解析 并根据百度返回的坐标值画出车牌所在
  • 使用Jasmine在Angular中测试组件:第1部分

    您将要创造的 测试驱动开发是一种编程实践 已由地球上每个开发人员社区宣讲和推广 但这是开发人员在学习新框架时经常忽略的例程 从第一天开始编写单元测试 将帮助您编写更好的代码 轻松发现错误并维护更好的开发工作流程 Angular中的测试驱动开
  • 六级单词词汇表(有注音)

    英语六级备考词汇表 abnormal b n m l a 不正常的 变态的 abolish b li vt 废除 取消 abrupt br pt a 突然的 意外的 唐突的 absurd b s d a 不合理的 荒唐的 abundance
  • python-16进制字符串和16进制数字转换

    0xa1 0x09 0x1c 0xef gt a1 09 1c ef b xa1 x09 x1c xef hex a1091cef a1 09 1c ef gt 0xa1 0x09 0x1c 0xef bytes fromhex a1091
  • 使用@Id时主键生成策略:TABLE、SEQUENCE、IDENTITY、AUTO

    主键生成策略 GenerationType TABLE GenerationType SEQUENCE GenerationType IDENTITY GenerationType AUTO TABLE 使用一个特定的数据库表格来保存主键
  • 《UML用户指南第二版》再次温读笔记(一)(downmoon)

    前言 最近 花点时间重读 也不知道是第几遍了 UML用户指南第二版 这本书 感觉虽然对WEB程序开发而言 UML的应用是一个极大的挑战 然而 其中蕴含的基本原理和指导性却是历久弥新 耐人回味 在此 特地摘录了部分让邀月留下印象的章节 以作备
  • eclipse里打开图片文件乱码解决方案

    从eclipse中打开工程文件下的图片文件显示乱码 原因是你电脑系统上没有设置图片的默认打开方式 或者是图片的默认打开方式与eclipse不兼容
  • 原始值和引用值

    ECMAScript 变量可以包含两种不同类型的数据 原始值和引用值 原始值就是简单数据类型 引用值则是由多个值构成的对象 原始值 引用值 原始值包括 Undefined Null Boolean Number String Symbol和
  • 【GAN 04】可解释性GAN

    本文是对http www seeprettyface com research notes html的学习笔记 不想让GANs随机生成图片 希望通过控制输入的参数去生成特定的图片 例如 在手写数字图片的生成中 希望通过输入 控制数字 高度以
  • Unable to cast COM object of type 'System.__ComObject' to interface type 'Microsoft.Office.Interop.E

    前段时间做了个将Txt中数据导出到Excel中的C 小应用程序 一直都运行很好的 今天突然有同事安装时 报如下错 Exception Text System InvalidCastException Unable to cast COM o
  • android横竖屏切换、键盘推出状态改变的处理

    背景介绍 在编写android小应用的时候 碰到了这样的一个问题 当推开手机的实体键盘时 屏幕由竖屏转换为横屏 此时应用程序的显示界面 Activity 就会被销毁了 这个让人比较郁闷 如何才能让这个activity不被销毁呢 背景分割线
  • 【VUE3】ElementUI--el-date-picker下拉控件样式修改(高亮显示设置)

    ElementUI el date picker下拉控件样式修改 一些废话 事发背景 实现效果 实现思路 总结和完整代码 参考资料 一些废话 默默做前端 分享一些自己在项目需求实现中遇到的奇妙问题 主要是网上搜索不到解决办法自己解决后的总结