vue中日期如何加天数_如何在vue + element日期时间选择器中增加已标记功能

本文介绍了如何在Vue项目中结合Element UI日期时间选择器,实现日期加天数并添加已标记功能。通过复制组件、改造picker-options、解决获取数据触发时机等问题,实现了自定义样式和优化。
摘要由CSDN通过智能技术生成
6a49600ff6a22b7cdca2a3e1476372ae.png
image.png

1. 在element UI中复制一个时间日期选择器组件

默认 v-model="value1"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">


2. 在官方文档中找到发现可以自动以某日的样式的参数,找到picker-options

57b81e9dc0f522088eb18f7c55422cdd.png
image.png

3. 改造 picker-options

  • (小坑1) 为了让 function cellClassName(Date) 能正常使用this, picker-options需要写在computed中
  • (小坑2) 注意自己的日期格式 YYYY-MM-DD, 是否需要补0
  • (小坑3) 使用 @focus 获取数据在范围选择器中会触发两次, 待优化
默认 v-model="value1"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="customPickerOptions"
popper-
@focus="initCustomDate"
>


4. 自定义样式

  • (小坑4) 不能使用scoped局部作用域,所以我写到了app.vue中作为全局样式,也方便其他地方复用

// APP.vue


5. 继续优化样式

05a891533a807bff553a80ace4277733.png
image

完成前4步,会出现上图的情况,选中日期时挡住了部分文字,再翻翻文档有什么可用参数,找到popper-class

4590e200b2ceb859893ec8223af16a87.png
image.png

找到元素所在的位置,进行样式覆盖

9fce727342df1ce750a86cffb5cd6462.png
image.png

// APP.vue


6. 待优化 获取数据的触发时机

  • 使用 @focus 获取数据在 范围选择器中会触发两次
  • 有更好的方法或者发现写错以及可以优化的地方欢迎交流
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值