当前位置: 首页 > 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`];}}}},

效果图

http://www.lryc.cn/news/238816.html

相关文章:

  • Java使用Redis来实现分布式锁
  • 移动端表格分页uni-app
  • 全志R128芯片RTOS调试指南
  • 超级实用的程序员接单平台,看完少走几年弯路,强推第一个!
  • 前端字符串方法汇总
  • 12 分布式锁加入看门狗
  • 怎么判断list是否为null
  • 11.数据公式中使用2个 $$ a =b $$,是什么意思?
  • 设计模式-14-迭代器模式
  • 防雷接地+防雷工程施工综合方案
  • 排序算法--选择排序
  • 【Web】Ctfshow SSRF刷题记录1
  • 【算法挨揍日记】day30——300. 最长递增子序列、376. 摆动序列
  • ROS2对比ROS1的一些变化与优势(全新安装ROS2以及编译错误处理)《1》
  • 基于单片机PM2.5监测系统仿真设计
  • CRM系统中的联系人是什么?如何进行联系人管理?
  • uniapp:如何实现点击图片可以全屏展示预览
  • python运行hhsearch二进制命令的包装器类
  • Java 网络编程、e-mail、多线程编程
  • 为虚幻引擎开发者准备的Unity指南
  • Vue 2使用element ui 表格不显示
  • C++学习 --文件
  • java/Android:将字符串按数量分割
  • JVM 监控命令详解
  • TEE威胁评分与评级
  • -bash: ./deploy.sh: /bin/bash^M: bad interpreter: No such file or directory
  • 【文末送书】十大排序算法C++代码实现
  • vue-waterfall2 实现瀑布流,及总结的问题
  • grafana二次启动失败
  • C/C++杂谈-printf的可变参数机制