位置: 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前端页面设计)

  • 行政事业性收据发票记帐
  • 增值税进项发票认证流程
  • 政府补助收入要交印花税吗
  • 2020年企业减免
  • 开具不规范的发票
  • 公司向股东无息借款要交哪些税
  • 第三方付款会计分录
  • 人力资源服务费税收编码
  • 购买的厂房怎样交税
  • 物流公司一般纳税人怎么报税
  • 公司注销后虚开发票
  • 普通发票计量单位没填
  • 印花税计提会计分录
  • 增值税已交税金什么情况下使用
  • 保险代理的佣金怎么算
  • 购入生产车间
  • 专利技术使用权转让属于特许权使用费
  • 超市买的日用品没消毒直接用
  • 工会经费计税依据是应发还是实发
  • 水产类账目怎么做
  • 物流公司增项
  • 税务局开的专票可以抵扣吗
  • 基建工程的各项工作包括
  • 生产调试消耗原材料如何做账?
  • 应付职工薪酬在借方是什么意思
  • 三星笔记本预装系统
  • win10玩游戏太卡了
  • win7为什么这么多人用
  • PHP:curl_share_init()的用法_cURL函数
  • hp workwise service是什么
  • 工业企业应付账款周转率多少合适
  • 契税计税依据及计算方式
  • 财政返还土地奖金的规定
  • 减免增值税会计处理
  • 拨缴经费收入上解部分
  • yolov5结构解析
  • 记录一次游戏
  • 命令行修改mbr
  • 递延所得税什么时候交
  • 主营业务收入需要结转吗
  • 查账征收的纳税人能否简易注销
  • 可转债可以不卖吗
  • 怎样回到一年前
  • 运输费用会计
  • mysql金额用什么数据类型
  • 企业增值税的计算
  • 利润表中资产减值损失为正数是什么原因
  • 个人所得税代扣代缴手续费
  • 银行询证函费用发票
  • 残保金是交上一年的吗
  • SQL Server中通配符的使用示例
  • 如何配置samba配置文件
  • win10周年更新版是什么意思
  • WINDOWS操作系统属于什么操作系统
  • winxp开机启动程序
  • win10系统命令大全
  • nwtray.exe - nwtray是什么进程 作用是什么
  • win10mobile还能用吗
  • 图片如何添加到word文档
  • win7系统玩英雄联盟蓝屏
  • win10系统预览版
  • cocos2djs
  • javascript的面向对象
  • 如何使用jquery插件
  • jquery 下拉框变更事件
  • vue项目中使用scss
  • 使用Python对MySQL数据操作
  • javascript页面设计
  • 批处理的扩展名
  • 安卓手机管家怎么关闭
  • unity基于什么语言
  • 如何查询纳税信用等级证明
  • 苏州买房退契税政策2023
  • 国家减免的增值税怎么做账
  • 工会经费征收范围规定
  • 增值税发票勾选是什么意思
  • 临时工和季节工需要交社保吗合法吗
  • 河南省税务零申报怎么操作
  • 个人股和公司股
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设