el-date-picker 控制可选日期范围 时间选择只显示小时 并控制小时可选范围

现在 需要做一个 时间选择器  ,可以根据 小时(同时选天和小时) 和天 和月,节假日等类型控制日历的选择样式

解决  根据上面的类型切换 type 为 datetime,date,和month来解决显示问题,

功能点1.

重大节假日 就是只有节假日可选 type 为 date  控制可以选择的具体日期(例如五一 是5.1-5.5 5天可选)

功能点2.

小时 需求是  时间选择器 可以同时选择日期 和时间,只可以选择小时并且 分和秒 不显示

解决功能点1

理解disabledDate 设置值  为不可以选的时间

重大节假日需要后台 或者你自己写好可以选择的日期, obj里面的data为可选日期集合  dayjs(date).format("YYYYMMDD")只是对日期就行格式化方便对比 是否包含

效果

  

用该方式 解决了 控制日期可选范围问题

解决功能点2

先看一下 el-date-picker   因为要同时出现日期和时间选择 所以type选择"datetime"   看一下默认样式

设置format 为  yyyy-MM-dd  此时 时间 会显示到分钟可选 没有了 秒

这里还需要 把分钟可选去掉,尝试很多设置方式没有解决,最终解决是通过隐藏 分钟模块控件

这样解决了 只显示到小时  的需求 效果如下

现在还有一个问题 就是 控制今天 现在小时之后的 小时不可选 

这样解决了当前之后的小时不可选  但是这时候引发了新的问题    例如今天10月2号 14点  那么 15,16等以后不能选是正确的   当你选择到其他日期 例如 10月1 日   应该是所有 小时可选  但是现在的话  也是不能选的

这时候需要动态的控制  上图中 selectableRange 的值 ,但是这里有格式要求不能动态用this.xxxx来设置或者不生效

所以  写了两个  expireTimeOption

根据用户选择的是否为当天  来切换 选择范围。 从而解决了该问题

这样解决了  时间选择显示到小时  ,并且可以控制小时显示范围的问题,

效果图

  • 11
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值