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

  • 递延所得税负债账务处理
  • 广东税务师报名条件
  • 银行承兑汇票提前承兑收多少手续费
  • 赠送客户样品怎么写文案
  • 发票税号不对还能报销吗
  • 新会计准则开办费分摊
  • 收到的房租增值税专用发票可以抵扣吗
  • 运输增值税专票含税价怎么算
  • 所得税季报固定资产加速折旧表资产原值
  • 水泥厂水泥增值税率是多少?
  • 申报水利基金减免性质在哪里找?
  • 应征增值税不含税销售额(3%征收率)怎么算
  • 差额纳税和全额纳税比例
  • 增值税普票丢失的最新处理
  • 企业所得税预缴税款表怎么填
  • 发生可抵扣暂时性差异是调增还是调减
  • 企业报税表
  • 给子公司员工发放奖金合法吗
  • 材料成本的核算方法有哪些
  • 收到采购商品
  • 王者荣耀中墨子的最强出装
  • 生产成本包括哪三类
  • 用后期进项抵欠怎么做账
  • 金融负债包括哪几项
  • 预付款项属于什么会计要素
  • 发票遗失复印件加盖什么章
  • 金税盘减免税款申报的时候怎么填写
  • 纳税确有困难标准
  • 支付宝提现到企业账户 怎么开票
  • 工会会员会费缴费证明怎么开
  • 货物无偿赠送分录
  • 以公允价值计量的投资性房地产
  • 代理的认定
  • 股票金融资产被称为
  • 低值易耗品报废时有残料价值收回的应冲减当月成本费用
  • yolo xml转txt
  • 按实际成本结转6日和7日的材料采购成本
  • 个人信息提供者
  • 动产租赁增值税税率最新
  • 增值税一般纳税人登记管理办法
  • 填报的资产总额在季初和季末存在差异是什么意思
  • meta最新模型
  • 10年未被强制修复!黑客利用Windows旧漏洞攻击通信公司并分发恶意文件
  • 逐帧flash动画
  • 什么是劳务派遣制员工
  • js array.fill
  • mac node-gyp
  • 如何进行会计制度改革
  • 无法取得发票的成本能列支吗
  • 建筑行业会计做账流程及会计分录
  • 推迟确认收入的分析
  • 取得抵债资产
  • 购买原材料还没发票
  • 支付行业培训流程
  • 长期股权投资权益法账务处理
  • 给员工家人报销会计分录
  • 折现率的选择主要是根据什么来判断
  • 小企业会计建账分录
  • mysql macbook安装教程
  • 全面解析皮炎
  • iis怎么用
  • VMware虚拟机安装苹果Mac OS
  • xp管理员账号密码
  • edge新版浏览器
  • win8无法安装inter显卡驱动
  • win10登录界面壁纸
  • 前端获取http状态码400的返回值实例
  • unity outline性能
  • 查看系统网络连接数
  • Node.js中的包管理工具是什么
  • js onkeypress与onkeydown 事件区别详细说明
  • jquery中动画效果方法
  • listview.items.add
  • android实现选择题模式
  • android实战项目
  • 大连个体营业执照怎么办
  • 地税电子税务局漏报要去大厅吗
  • 智利有什么自然景观
  • 深圳税务局官方客服电话
  • 绍兴柯桥有哪些村
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设