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

设置指定时间之前的时间不可选

1、el-date-picker设置今天之前的日期不可选

<el-date-picker style="width: 100%" type="date" v-model="form.resetDate" align="right" :value-format="'yyyy-MM-dd'" placeholder="选择调整日期":disabled="this.disabled ":picker-options="{disabledDate: (time) =>time.getTime() <new Date(new Date().setHours(0, 0, 0, 0))}"></el-date-picker>

效果图:

2、el-time-picker设置指定时间之前的时间不可选

<el-col :span="12"><el-form-item label="开始时间" prop="enterTime"><el-time-picker v-model="form.enterTime" :disabled="this.disabled" :value-format="'HH:mm'" format="HH:mm" style="width: 100%" placeholder="请选择开始时间":picker-options="{selectableRange:`00:00:00-${form.stopTime ? form.stopTime + ':00' : '23:59:59'}`}"></el-time-picker></el-form-item></el-col><el-col :span="12"><el-form-item label="结束时间" prop="stopTime"><el-time-picker v-model="form.stopTime" :disabled="this.disabled" :value-format="'HH:mm'" format="HH:mm" style="width: 100%" placeholder="请选择结束时间":picker-options="{selectableRange:`${form.enterTime ? form.enterTime + ':00' : '00:00:00'}-23:59:59`}"></el-time-picker></el-form-item></el-col>

效果图:

 3、设置YYYY-MM-dd HH:mm:ss格式指定时间之前不可选

<el-col :span="12"><el-form-item label="停机时间" prop="enterTime"><el-date-picker v-model="form.enterTime" type="datetime" :disabled="this.disabled" placeholder="请选择进车时间" align="right" :value-format="'yyyy-MM-dd HH:mm'"style="width: 100%" :picker-options="pickerOptions"></el-date-picker></el-form-item></el-col><el-col :span="12"><el-form-item label="结束时间" prop="stopTime"><el-date-picker v-model="form.stopTime" type="datetime" :disabled="this.disabled" placeholder="请选择结束时间" align="right" :value-format="'yyyy-MM-dd HH:mm'"style="width: 100%" :picker-options="pickerOptions" @change="pickerOptionsEnd(form.enterTime,form.stopTime)"></el-date-picker></el-form-item></el-col>
// 结束时间不能小于开始时间pickerOptionsEnd(start,end){console.log(start)console.log(end)if(Date.parse(end )<= Date.parse(start) ) {this.form.stopTime = ''this.$modal.msgError("结束时间不能小于停机时间");}},

效果图:

 4、element 日期时间组件,限制日期时间选择范围,不能选择早于当前的时间

vue代码

<el-col :span="12"><el-form-item label="开始时间" prop="enterTime"><el-date-picker v-model="form.enterTime" type="datetime" :disabled="this.disabled" placeholder="请选择开始时间" align="right" :value-format="'yyyy-MM-dd HH:mm:ss'"style="width: 100%" :picker-options="pickerOptions"></el-date-picker></el-form-item></el-col><el-col :span="12"><el-form-item label="结束时间" prop="stopTime"><el-date-picker v-model="form.stopTime" type="datetime" :disabled="this.disabled" placeholder="请选择结束时间" align="right" :value-format="'yyyy-MM-dd HH:mm:ss'"style="width: 100%" :picker-options="pickerEndOptions"></el-date-picker></el-form-item></el-col>

js代码 

data() {return {
// 表单参数form: {stopTime:"",},
// 日期限制pickerEndOptions: {disabledDate: (time) => {if (this.form.enterTime) {const st = this.form.enterTime.split(' ')[1];let dateTime = new Date(this.form.enterTime);let startDateTime = dateTime.setDate(dateTime.getDate() - (st=='00:00:00'? 0: 1));return (time.getTime() < new Date(startDateTime).getTime());}},// 限制时间selectableRange: []},
}
}

监听 

watch: {'form.stopTime':{handler(newValue, oldValue) {if(this.form.enterTime.split(" ")[0] === newValue.split(" ")[0]){const st = this.form.enterTime.split(' ')[1] + ":00";console.log(st)this.pickerEndOptions.selectableRange = [`${st} - 23:59:59`];}else{this.pickerEndOptions.selectableRange = [`00:00:00 - 23:59:59`];}}}},

效果图

相关文章:

  • kubernetes测试部署一个nginx
  • 【自学记录】深度学习进阶:自然语言处理(第一章 神经网络的复习)
  • Linux 启动停止重启jar包shell脚本
  • 【2023云栖】陈守元:阿里云开源大数据产品年度发布
  • 【数据库】你听说过矢量数据库吗?
  • 机器学习算法——集成学习
  • Vue项目Jenkins自动化部署
  • Golang中读写CSV文件的全面指南
  • 鸿蒙原生应用/元服务开发-AGC分发如何编译打包应用
  • qt和window抓包程序
  • RK3588产测软件介绍
  • kafka原理看这一篇就够了
  • 【经验分享】Ubuntu如何设置swap交换
  • HIS系统源码,云HIS源码,二级医院信息管理系统源码,预约挂号支持、病患问诊、电子病历、开药发药、会员管理、统计查询、医生工作站、护士工作站
  • 推荐一个windows上传linux服务器/linux服务器的docker镜像的工具,摆脱docker cp,以及解决常见问题。
  • 【译】JS基础算法脚本:字符串结尾
  • 【node学习】协程
  • 2019.2.20 c++ 知识梳理
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Bytom交易说明(账户管理模式)
  • IDEA 插件开发入门教程
  • JavaScript的使用你知道几种?(上)
  • JS数组方法汇总
  • Mocha测试初探
  • TypeScript迭代器
  • 机器学习 vs. 深度学习
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端面试总结(at, md)
  • 写给高年级小学生看的《Bash 指南》
  • 再谈express与koa的对比
  • 栈实现走出迷宫(C++)
  • ​configparser --- 配置文件解析器​
  • # .NET Framework中使用命名管道进行进程间通信
  • %check_box% in rails :coditions={:has_many , :through}
  • (23)Linux的软硬连接
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Python第六天)文件处理
  • (二)c52学习之旅-简单了解单片机
  • (二)PySpark3:SparkSQL编程
  • (二)换源+apt-get基础配置+搜狗拼音
  • (转)Sql Server 保留几位小数的两种做法
  • .Net 高效开发之不可错过的实用工具
  • .NET4.0并行计算技术基础(1)
  • .net经典笔试题
  • [04] Android逐帧动画(一)
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [caffe(二)]Python加载训练caffe模型并进行测试1
  • [CSAWQual 2019]Web_Unagi ---不会编程的崽
  • [docker] Docker容器服务更新与发现之consul
  • [FTP]pureftp部署和优化
  • [hdu1561] The more, The Better 【树形DP】
  • [Java、Android面试]_05_内存泄漏和内存溢出
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • [Linux] MySQL数据库之索引