当前位置: 首页 > news >正文

el-date-picker 日期时间选择器 限时时间范围 精确到时分秒

官方的disabledDate属性:设置禁用状态,参数为当前日期,要求返回 Boolean,它只能禁用日期,对于时间并不能直接禁用,总结以下两个方法解决禁用时间:

1.通过watch去监听源数据:

1.1 组件

          <el-form-item label="任务时间" prop="time"><el-date-picker:disabledDate="disabledDate"style="width: 100%"v-model="form.time"type="datetimerange"value-format="yyyy-MM-dd HH:mm:ss"range-separator="至"start-placeholder="开始日期"end-placeholder="结束日期"></el-date-picker></el-form-item>

2.2 watch函数来监听数据变化

methods:{//只能禁用日期disabledDate (time) {// 禁止选择当前时间之前的日期return time.getTime() < Date.now() - 24 * 3600 * 1000;},
},
watch:{//禁用时间'form.time'(newVal) {// 如果开始时间是在当前时间之前,就重置时间if (newVal && newVal[0] && new Date(newVal[0]).getTime() < Date.now()) {this.$nextTick(() => {this.$message({type: 'error',message: '开始时间不能早于当前时间!'});this.form.time = ['', ''];});}// 如果结束时间是在当前时间之前,也重置时间if (newVal && newVal[1] && new Date(newVal[1]).getTime() < Date.now()) {this.$nextTick(() => {this.$message({type: 'error',message: '结束时间不能早于当前时间!'});this.form.time = ['', ''];});}},
}

2.通过el-form表单校验去给校验错误提示(体验会好些)

computed:{rules () {return {time: [{ required: true, message: '请输入任务时间', trigger: 'blur' },{validator: this.checkTimeRange,trigger: 'change'}],}}
},
methods:{checkTimeRange (rule, value, callback) {if (!value || !value[0] || !value[1]) {callback(new Error('请选择时间范围'));} else if (new Date(value[0]).getTime() < Date.now()) {callback(new Error('开始时间不能早于当前时间'));} else if (new Date(value[1]).getTime() < Date.now()) {callback(new Error('结束时间不能早于当前时间'));} else {callback();}},
}
http://www.lryc.cn/news/219708.html

相关文章:

  • 轮廓线dp:GYM103446C
  • 羊驼免疫制备纳米抗体
  • 【AI好好玩02】利用Lama Cleaner本地实现AIGC试玩:擦除对象、替换对象、更换风格等等
  • SQL FULL OUTER JOIN 关键字(完整外部连接)||SQL自连接 Self JOIN
  • 专科医院污水处理设备构造解析及工艺流程
  • 【RabbitMQ】RabbitMQ 消息的可靠性 —— 生产者和消费者消息的确认,消息的持久化以及消费失败的重试机制
  • 百万套行泊一体量产定点,中国市场「开启」智驾高低速集成
  • Gopro hero5运动相机格式化后恢复案例
  • Microsoft Dynamics 365 CE 扩展定制 - 6. 增强代码
  • 基于libopenh264 codec的svc分层流实现方案
  • 为机器学习算法准备数据(Machine Learning 研习之八)
  • 基于Python OpenCV的金铲铲自动进游戏、D牌...
  • c++中httplib使用
  • Vite 的基本原理,和 webpack 在开发阶段的比较
  • [开源]免费开源MES系统/可视化数字大屏/自动排班系统
  • python如何使用gspread读取google在线excel数据?
  • 线程同步——互斥量解锁、解锁
  • 数据结构(c语言版) 顺序表
  • Springboot 集成 RocketMq(入门)
  • Elasticsearch:ES|QL 中的数据丰富
  • 【linux编程】linux文件IO高级I/O函数介绍和代码示例
  • jQuery获取地址栏GET参数值
  • JAVA应用中线程池设置多少合适?
  • .Net Core 3.1 解决数据大小限制
  • 【音视频 | opus】opus编码的Ogg封装文件详解
  • 【微信小程序】自定义组件(一)
  • 如何通过一条数字人三维动画宣传片,打造出数字文旅
  • 【MongoDB】索引 - 数组字段的多键索引
  • 2023.11.5 关于 Spring 创建 和 使用
  • 3D目标检测实战 | 图解KITTI数据集评价指标AP R40(附Python实现)