位置: IT常识 - 正文

ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒)

编辑:rootadmin
ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒) 项目场景

推荐整理分享ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

ElementPlus DateTimePicker日期时间选择器 当我们使用日期时间选择器时,可能会有需求只能选择今日之前或者今日之后,又或者一周内,一个月内的时间,而其他的时间应该禁止被用户选择。

解决

直接看文档: 我没通过设置disabled-date属性来自定义禁用的时间。

今天之前/之后ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒)

只能选择今天之后的时间。

<template> <div> <el-date-picker v-model="time" type="datetime" placeholder="Pick a Date" format="YYYY-MM-DD HH:mm:ss" :disabledDate="disabledDateFn"></el-date-picker> </div></template><script setup lang="ts">import { ref } from 'vue';const time = ref('')const disabledDateFn = (time: any) => { return time.getTime() < Date.now();}</script><style scoped></style>

同理,只可选择今天之前的时间直接取反即可。

一周之内

今天之前的,“大于”今天加7天的,禁用。(7 * 24 * 3600 * 1000为7天所对应的毫秒)

const disabledDateFn = (time: any) => { return time.getTime() < Date.now() || time.getTime() > Date.now() + 7 * 24 * 3600 * 1000;}

其他时间同理。

禁用时分秒

在上面的例子中,其实存在一个问题,如下图: 如图,虽然11号不能选择,但是点击事件选择框,则可以选择一整天的时间。 显然,这样用户体验十分不好,最理想的应该是用户可以选择11号,点开时间选择框只能选择当前之后的时分秒。

在网上找了很多方案,发现全是旧版elementUI的,好像elementPLUS把selectableRange已经去掉了,而文档中也没有明确指出限制时分秒的属性,最后的解决方案:

<template> <div> <el-date-picker v-model="time" type="datetime" placeholder="Pick a Date" format="YYYY-MM-DD HH:mm:ss" :disabledDate="disabledDateFn" :disabled-hours="disabledHours" :disabled-minutes="disabledMinutes" :disabled-seconds="disabledSeconds" :default-time="new Date()"> </el-date-picker> </div></template><script setup lang="ts">import { ref } from "vue";const time = ref("");const disabledDateFn = (time: any) => { //比当前时间小的时间禁用(返回false则禁用) return time.getTime() < Date.now() - 24 * 3600 * 1000;};const disabledHours = () => { const a = []; for (let i = 0; i < 24; i++) { // 限制之前 < 之后 > ,下面同理 if (new Date().getHours() <= i) continue; a.push(i); } return a;};const disabledMinutes = () => { const a = []; for (let i = 0; i < 60; i++) { // 限制之前 < 之后 > ,下面同理 if (new Date().getMinutes() <= i) continue; a.push(i); } return a;};const disabledSeconds = () => { const a = []; for (let i = 0; i < 60; i++) { // 限制之前 < 之后 > ,下面同理 if (new Date().getSeconds() <= i) continue; a.push(i); } return a;};</script><style scoped></style>

这里之所以设置default-time为当前时间,是我发现当点击今天时,默认时间是00:00:00,按理说应该无法选中的…… 最后的效果:

本文链接地址:https://www.jiuchutong.com/zhishi/287285.html 转载请保留说明!

上一篇:Vue 批量上传,使用 el-upload 实现批量上传文件只调用一个请求,只需要一个上传按钮(vue批量上传图片至oss)

下一篇:VUE前端实现“模糊搜索“(纯前端)(vue前端页面设计)

  • 企业销售固定资产车辆怎么开票
  • 淘宝网店女装
  • 话费充值发票可以入账吗
  • 美容行业如何做活动
  • 上一年的收入少做账了该怎么调
  • 实际上缴税费总额怎么算
  • 标书的资金类型是什么
  • 固定资产租入租金计入什么科目
  • 递延收益税务处理方法
  • 咨询费发票怎么入账
  • 个体户进货需要发票吗?
  • 监控维护需要什么经营范围
  • 建筑业开具发票新规定
  • 办公低值易耗品的账务处理
  • 支票收款
  • 利润转增资本交什么税
  • 企业未成立工会需要交工会经费吗
  • 个税系统添加单位企业信息不存在
  • 民非提供服务收到的现金怎么算
  • 本月计提增值税的金额是怎么得来的
  • windows11 怎么更新
  • 企业合并收购,对员工的机会和挑战
  • 固定资产减值判断标准
  • 缴纳住房公积金分录
  • 投资收益属于营业外收入吗
  • 代扣代缴增值税账务处理
  • ORB_SLAM2+kinect稠密建图实战项目总结
  • 中标费用入什么科目
  • ps怎么把皮肤变红润
  • 房地产企业的开发成本和开发费用有什么区
  • sql 覆盖索引
  • 未开票收入如何做账
  • pythonjam怎么用
  • 累计盈余需要设置明细科目吗
  • 税务多措并举
  • 财务费用的核算内容有哪些
  • 开办费用怎么处理
  • 增值税零税率发票开了2年,没给对方
  • 员工借款还款怎么做账
  • 原材料属于固定资本还是流动资本
  • 政府补助会计核算
  • 施工企业工人工作总结
  • 销售退回的账务处理红字
  • 住宿费专用发票会计分录
  • 公司购买手表入什么科目
  • 公司买护肤品发票如何入账
  • 备查账包括哪些
  • mysql 1290怎么解决
  • centos7ntp服务器
  • win7如何设置共享
  • w10隐藏功能
  • red hat7.6
  • windows7壁纸怎么恢复
  • win7系统如何卸载office2007
  • win10系统找不到mrt
  • winxp如何删除网卡驱动
  • win10彻底恢复出厂设置
  • linuxvi编辑器的用法
  • 紧跟潮流的句子
  • win8怎么设置
  • win8怎么运行命令
  • linux中安装命令
  • java如何自定义函数
  • python中numpy.zeros(np.zeros)的使用方法
  • js文件里面有什么
  • node.js入门
  • 转换目录的命令
  • asm/semaphore.h: No such file or directory
  • 可输入文字查找的软件
  • javascript实现3D切换焦点图
  • python 钉钉打卡定位
  • python模块和包的区别
  • Unity3D游戏开发毕业论文
  • js和jquery混合使用
  • mixed模型
  • 公益性公墓免交税吗
  • 电子低保证书在哪找
  • 怎么查询手机发票
  • 陕西省税务局袁小平简介
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设