位置: IT常识 - 正文

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

发布时间:2024-01-05
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前端页面设计)

  • 华为watch3移动eSIM怎么开通

    华为watch3移动eSIM怎么开通

  • 小米手环4测心率误差大怎么办(小米手环4测心率准不准)

    小米手环4测心率误差大怎么办(小米手环4测心率准不准)

  • 华为荣耀20青春版怎么设置返回键(华为荣耀20青春版有没有nfc功能)

    华为荣耀20青春版怎么设置返回键(华为荣耀20青春版有没有nfc功能)

  • 开启朋友验证是删了我吗(开启朋友验证是怎么操作的)

    开启朋友验证是删了我吗(开启朋友验证是怎么操作的)

  • 华为nova7se返回键在哪里设置(华为nova7se返回键在哪里找到)

    华为nova7se返回键在哪里设置(华为nova7se返回键在哪里找到)

  • 抖音开店保证金退不了(抖音开店保证金什么时候交)

    抖音开店保证金退不了(抖音开店保证金什么时候交)

  • 密码对了无法加入网络(密码对的无法加入网络是什么原因)

    密码对了无法加入网络(密码对的无法加入网络是什么原因)

  • 抖音为什么有的显示在线有的不显示(抖音为什么有的不能微信支付)

    抖音为什么有的显示在线有的不显示(抖音为什么有的不能微信支付)

  • applewatch正在同步需要多久(applewatch正在同步不动了)

    applewatch正在同步需要多久(applewatch正在同步不动了)

  • excel自动填充功能包括什么(excel自动填充功能输入编号)

    excel自动填充功能包括什么(excel自动填充功能输入编号)

  • 笔记本电脑可以下载万能钥匙吗(笔记本电脑可以外接显卡吗?)

    笔记本电脑可以下载万能钥匙吗(笔记本电脑可以外接显卡吗?)

  • 备忘录突然一下子都没了怎么回事(为什么备忘录的内容一会有一会没有)

    备忘录突然一下子都没了怎么回事(为什么备忘录的内容一会有一会没有)

  • zip文件怎么安装(电脑zip文件怎么安装)

    zip文件怎么安装(电脑zip文件怎么安装)

  • 地址分为哪几类(地址有什么类型)

    地址分为哪几类(地址有什么类型)

  • 微信添加手机联系人显示不全(微信添加手机联系人对方能看到吗)

    微信添加手机联系人显示不全(微信添加手机联系人对方能看到吗)

  • 饿了么电子发票在哪里(饿了么电子发票怎么下载)

    饿了么电子发票在哪里(饿了么电子发票怎么下载)

  • 手机号165是什么卡(手机165号段好不好)

    手机号165是什么卡(手机165号段好不好)

  • 苹果怎么设置云闪付(苹果怎么设置动态壁纸)

    苹果怎么设置云闪付(苹果怎么设置动态壁纸)

  • pr添加的效果怎么去除(pr添加效果后没有反应)

    pr添加的效果怎么去除(pr添加效果后没有反应)

  • 苹果蓝牙耳机怎么加减音量(苹果蓝牙耳机怎么看电量)

    苹果蓝牙耳机怎么加减音量(苹果蓝牙耳机怎么看电量)

  • 二手苹果8p怎么验机(二手苹果8p怎么看好坏)

    二手苹果8p怎么验机(二手苹果8p怎么看好坏)

  • x27vivo支持面部识别吗(vivox27有面部)

    x27vivo支持面部识别吗(vivox27有面部)

  • 华为mate20pro和华为p30pro对比(华为mate20pro和华为mate50pro对比)

    华为mate20pro和华为p30pro对比(华为mate20pro和华为mate50pro对比)

  • Mac版Chrome浏览器无法打开12306登录页面的解决方法(mac版chrome浏览器无法上网)

    Mac版Chrome浏览器无法打开12306登录页面的解决方法(mac版chrome浏览器无法上网)

  • Vite打包性能优化之开启Gzip压缩(vite怎么打包)

    Vite打包性能优化之开启Gzip压缩(vite怎么打包)

  • vue的脚手架安装及安装失败问题解决(vue脚手架安装命令)

    vue的脚手架安装及安装失败问题解决(vue脚手架安装命令)

  • phpcms更换域名后的处理步骤(网站更换域名后无法访问)

    phpcms更换域名后的处理步骤(网站更换域名后无法访问)

  • 进项税和销项税税率一样吗
  • 什么是消费税?特征有哪些
  • 出口退税进项税
  • 营业执照丢失公示几天才能注销
  • 注销公司账面余额要全部清零吗
  • 金蝶旗舰版如何反过账
  • 公章更换后需要到工商局备案么
  • 计提代扣代缴个人缴纳的社会保险费分录
  • 开发间接费用的分配率为本月
  • 以合并方式成立的新企业,新启用
  • 风险纳税人还能开发票吗
  • 工会经费可以购买购物卡吗
  • 事业单位支付方式
  • 开出转账支票怎么入账
  • 银行利息收入确认时间会计与税法的差异
  • 汽车融资租赁行业发展趋势
  • 发票作废相关规定
  • 怎么计算房地产公司可以贷款多少
  • 个税申报已经申报如何更改
  • 简述增值税纳税义务发生时间
  • 分期消费的实际收益
  • 办公家具会计分录怎么做
  • 什么叫资金预算
  • 利润总额和净利润的区别
  • 代发工资开的发票可以抵扣吗?
  • 信息技术费用如何做分录
  • 建账怎么建
  • 税收分类编码怎么添加
  • 如果工资少发怎么办
  • macos big sur操作
  • 收益性支出的项目有哪些
  • 我国现行的关税税率种类及适用
  • 笔记本通用音频驱动程序怎么修复
  • 先买入再卖出
  • uniapp前端面试题
  • linux中web服务器的安装,配置与测试
  • vite搭建vue3
  • zabbix 执行命令
  • 前端bs是什么
  • 序列标注技术应用
  • 网络安全工具大全图片
  • dns域名解析两种方式
  • 商品流通的企业
  • 研发支出的相关理论基础有哪些
  • python语言接收信息的内置函数
  • 专票减免政策
  • 关于录制初三毕业班家长寄语通知
  • 以前年度损益调整结转到本年利润吗
  • 什么人适合单干
  • 新会计准则规定
  • mysql安装问题
  • 员工出差时法律规定
  • 提现手续费属于什么费用
  • 一次开票分期确认收入
  • 自产产品用于捐赠是否要确认收入
  • 返还利润含税吗
  • 销售费用明细科目有哪些内容
  • 企业必须建立哪些制度
  • sql中nullif
  • 445端口 关闭
  • 关于激活剂的叙述正确的是
  • win7系统强制关机
  • linux邮件设置方法
  • hwid.exe
  • windows 托盘
  • win8右侧栏设置
  • win10周年更新版是什么意思
  • linux用户账户管理
  • windows8桌面设置
  • make:arm-linux- conmand not found错误处理探讨
  • windows8的ie浏览器在哪
  • linux安装yum命令步骤
  • win10累积更新卡在正在下载
  • linux进程切换 宋宝华
  • 安卓手机管家如何卸载
  • jquery编写页面载入事件
  • python的get
  • 陕西省税务局发来信息通知
  • 上饶市税务局咨询电话
  • 辽宁国家税务总局电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号