Web前端篇——el-date-picker日期弹出框大小的修改

通常情况下el-date-picker日期弹出框的大小我们很少去改到它,但是如果某些特定情况下需要我们改动它的话,可以按以下步骤实现:

1.第一步,定义一个style样式

css 复制代码
.DateStyle{
  transform-origin 0 0 !important;
}

2.第二步, 设置popper-class样式和事件监听

在el-date-picker给popper-class使用该样式,并添加一个弹出框的显示与隐藏监听visible-change

<el-date-picker

popper-class="DateStyle"

ref="datepicker"

style="margin: 0 0 0 30; width:250px;"

v-model="timeValue"

type="daterange"

:editable="false"

unlink-panels

range-separator="至"

start-placeholder="起始时间"

end-placeholder="结束时间"

@visible-change="datepickerFocus"

:shortcuts="shortcuts"

>

3.第三步,在触发的事件中缩放自己的弹出框。(这里用了jquery,请先引入jquery的js文件

在vue的methods里面定义一个datepickerFocus函数。 判断当日期弹出框显示时,给弹出框重新设置大小。(++这里的弹出框显示函数的触发稍微有一点延时,所以会先显示出默认大小,再进行缩放++。你也可以监听日期框的focus焦点事件,获取到焦点的时候立刻缩放,就不会先显示出默认大小了)

javascript 复制代码
datepickerFocus(v) {
  if (v) {
    $('.DateStyle')[0].style.transform = `scale(0.85)`; //缩放系数
    var insetStr = $('.DateStyle')[0].style.inset.split(" ");
    //这里的25px根据你布局的实际位置、缩放系数来决定, 也可以动态计算。
    $('.DateStyle')[0].style.inset = "25px " + insetStr[1] + " " + insetStr[2] + " " + insetStr[3];
  }
}
相关推荐
你听得到1123 分钟前
用户说 App 卡,但说不清在哪?我把 Flutter 监控 SDK 升级成了链路观测工作台
前端·flutter·性能优化
天渺工作室9 小时前
实现一个adblock/adblock plus等浏览器广告拦截器检测插件
前端·javascript
阳光是sunny10 小时前
Vue 项目怎么做用户行为全链路监控?轻量插件方案详解
前端·面试·架构
ZhengEnCi10 小时前
Q04-Vite禁用CSS代码分割-解决生产环境样式加载顺序混乱问题
前端·vue.js·vite
九酒10 小时前
AI Agent 开发踩坑记:口播功能非得用 APP 原生实现吗?
前端·人工智能·agent
Jackson__11 小时前
做了一段时间的AI coding后,我终于搞清了 CLI 和 MCP 的区别
前端·agent·ai编程
IT_陈寒13 小时前
JavaScript项目实战经验分享
前端·人工智能·后端
用户479492835691514 小时前
6w star,GitHub 趋势第一的 Ponytail,这个agent插件到底在火什么
前端·后端
薛定喵的谔15 小时前
我开源了一个精致的 Next.js 博客模板:Skyplume
前端·前端框架·next.js