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];
  }
}
相关推荐
你这个代码我看不懂15 分钟前
Vue子父组件.sync
javascript·vue.js·ecmascript
灰灰勇闯IT21 分钟前
Flutter for OpenHarmony:布局组件实战指南
前端·javascript·flutter
⑩-44 分钟前
Vue框架学习
前端·vue.js·学习
a程序小傲1 小时前
京东Java面试被问:基于Gossip协议的最终一致性实现和收敛时间
java·开发语言·前端·数据库·python·面试·状态模式
小二·1 小时前
Python Web 开发进阶实战:AI 原生应用商店 —— 在 Flask + Vue 中构建模型即服务(MaaS)与智能体分发平台
前端·人工智能·python
Devlive 开源社区1 小时前
技术日报|推理RAG文档索引PageIndex登顶日增1374星,React视频工具Remotion二连冠进前二
前端·react.js·前端框架
xkxnq1 小时前
第三阶段:Vue 路由与状态管理(第 45 天)(路由与状态管理实战:开发一个带登录权限的单页应用)
前端·javascript·vue.js
Irene19911 小时前
Vue 3 中的具名插槽仍然完全支持,Vue 2 的旧语法 Vue 3 中已废弃
vue.js·slot
方方洛1 小时前
技术实践总结:schema-bridgion:json、xml、yaml、toml文件相互转换
xml·前端·typescript·node.js·json
object not found2 小时前
基于uniapp开发小程序自定义顶部导航栏状态栏标题栏
前端·javascript·小程序·uni-app