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

这篇具有很好参考价值的文章主要介绍了【VUE3】ElementUI--el-date-picker下拉控件样式修改(高亮显示设置)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一些废话

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

事发背景

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

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

实现效果

于是我通过一些查找和样式的改变做出了这个需求需要的效果,如下所示:
默认选中当前年份时:vue3 el-date-picker,elementui,前端,vue.js,scss
删除选中时:vue3 el-date-picker,elementui,前端,vue.js,scss
选中任意一个年份时:vue3 el-date-picker,elementui,前端,vue.js,scss
月的选中与日的选中效果也是与年一致。
月选中效果:vue3 el-date-picker,elementui,前端,vue.js,scss
日选中效果:vue3 el-date-picker,elementui,前端,vue.js,scss

实现思路

  1. 找到原始组件选中某个日期,ctrl+F5弹出检查窗口,找到这个高亮的css样式;
    vue3 el-date-picker,elementui,前端,vue.js,scss
  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. 此时页面里就成功得到了日期的选中状态圆圈高亮和年月的选中状态不加粗高亮;

vue3 el-date-picker,elementui,前端,vue.js,scss
vue3 el-date-picker,elementui,前端,vue.js,scss

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

效果如下,就跟日期选择器一样协调了,月选择器的写法也是一样
vue3 el-date-picker,elementui,前端,vue.js,scss

总结和完整代码

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

vue3 el-date-picker,elementui,前端,vue.js,scss

<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引入即可完成样式的修改文章来源地址https://www.toymoban.com/news/detail-785102.html

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.

到了这里,关于【VUE3】ElementUI--el-date-picker下拉控件样式修改(高亮显示设置)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • elementui 中 el-date-picker 控制选择当前年之前或者之后的年份

    对 el-date-picker 控件做出判断控制 给 el-date-picker 组件添加 picker-options 属性,并绑定对应数据 pickerOptions html js 扩展 单个选择框的限制 设置选择今天及最近一年内的日期(包括今天) 设置选择今天及今天以后的日期 设置选择今天及今天以前的日期 设置选择今天之后的日期(

    2024年02月20日
    浏览(36)
  • ELement UI时间控件el-date-picker误差8小时解决办法

    在项目中引用了elementui中的date-picker组件,选中的时间跟实际相差八小时,且格式不是自己想要的格式 如图输入的是: 得到的是 ①在data里定义变量 ②在使用form.timestamp之前要对它做处理 ③在methods里加入方法;格式自己可定义;我这里输出的是 yyyy/M/d 仅供参考哦 如果要输出

    2024年02月01日
    浏览(43)
  • 解决前端ELement UI时间控件el-date-picker提交时间误差8小时

    前端使用框架与UI:Vue+ElementUI。 在项目开发中使用到了DateTimePicker组件,在选择时间后点击查询发现查询导的内容与预期内容有所偏差,之后发现前端选中的时间在后端接收时相差了八个小时。 我们国家的标准时间是东经120°时间(东八区),而标准时间是格林威治时间(世

    2024年01月24日
    浏览(40)
  • 【VUE】el-date-picker日期选择器回显

    使用elementUI - el-date-picker 日期选择器 在请求到后端接口后,返回的数据中,日期数据回显到页面的el-date-picker组件中 1.  Vue.set( target, propertyName/index, value )      数组:第一个参数是要修改的数组, 第二个值是修改的下标或字段,第三个是要修改成什么值。     2. this.$set(this

    2024年02月11日
    浏览(51)
  • Vue中的el-date-picker时间选择器的使用

    1、value-format属性设置需要什么格式的时间 2、type类型选择datetime、date type类型改成date时,日期选择器就变成了年月日。 value-format不指定时,也默认时年月日。

    2024年02月12日
    浏览(46)
  • 023:vue中解决el-date-picker更改样式不生效问题

    第023个 查看专栏目录: VUE ------ element UI 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使用,computed,watch,生命周期(beforeCreate,created,beforeMount,mounted, beforeUpdate,upda

    2024年02月11日
    浏览(30)
  • vue+element中如何设置单个el-date-picker开始时间和结束时间关联

    功能:选了开始时间,则结束时间只能选择开始时间之后的;选了结束时间,则开始时间只能选择结束时间之前的   重点是picker-options属性      

    2024年02月14日
    浏览(43)
  • vue element ui el-date-picker(日期选择器)实现联动联级选择效果。

    页面上有三个 日期选则器。第一个只能选择月份,第二个是 年月, 第三个是年月日 。 然后第一个选择完毕 第二个、第三个自动带出年 。第二个选择月 第三个自动带出月。  思路: 就是 一个简单的赋值 。第一个 change里 给第二个和第三个赋值 。第二个change里给第三个赋

    2024年02月16日
    浏览(46)
  • vue+element-ui的el-date-picker时间选择器只能选择当前周

    最近遇到一个这样一个需求,开始时间和结束时间只能选择当前周时间,而且结束时间不能比开始时间早; 上效果图:  结构文件 js代码

    2024年02月13日
    浏览(39)
  • vue使用element-ui中日期选择器 (el-date-picker) 出现报错

    一、代码 二、报错 三、原因是 2.15.9这个版本有问题    四、解决办法-----版本降到2.15.8 即可 ① 卸载   npm uninstall element-ui  ②指定版本安装  npm install element-ui@2.15.8 ③ 查看版本即可 npm list  

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包