el-date-picker 时间控件校验选择时间必须早于当前时间(带时分秒)

el-date-picker 时间控件校验选择时间必须遭早于当前时间(带时分秒),然后监控时间控件,当时间改变的时候,如果不是当天,那时间可以选择全天也就是00-24时,如果是当天,就是当前时间之前

html部分

 <el-form-item label="注销时间" prop="logoutTime">
                <el-date-picker
                  v-model="formData.logoutTime"
                  :placeholder="'请选择注销时间'"
                  type="datetime"
                  :picker-options="pickerOptions"

                  style="width: 200px">
                </el-date-picker>
              </el-form-item>

//js部分

data(){

pickerOptions: {
  disabledDate(time) {
    const date = new Date();
    return time.getTime() > new Date().getTime();
    // return time.getTime() > new Date().getTime() - 86400000;//这个不包含当天
  },
  selectableRange: (() => {
    let data = new Date();
    let hour = data.getHours();
    let minute = data.getMinutes();
    let second = data.getSeconds();
    return [`00:00:01 - ${hour}:${minute}:${second}`]
  })(),
},
}

//监听时间控件的改变值
    watch: {
  
      'formData.logoutTime':{
        handler(newVal, oldVal) {
          //这里判断是不是今天
         let newValDate= new Date(newVal)//转换成中国标准时间
          if (
            newValDate &&newValDate.getFullYear() == new Date().getFullYear() &&
            newValDate.getMonth() == new Date().getMonth() &&
            newValDate.getDate() == new Date().getDate()
          ) {
            //如果为今天,则限制当前时间后的时间不能选择。
            let data = new Date();
            let hour = data.getHours();
            let minute = data.getMinutes();
            let second = data.getSeconds();
            this.pickerOptions.selectableRange = [`00:00:01 - ${hour}:${minute}:${second}`]
          }else{
            //如果不是今天,则不用限制
            this.pickerOptions.selectableRange = "00:00:00 - 23:59:00";
          }
        }
      }
    },
相关推荐
飞天大河豚29 分钟前
2025前端框架最新组件解析与实战技巧:Vue与React的革新之路
vue.js·react.js·前端框架
MickeyCV39 分钟前
Nginx学习笔记:常用命令&端口占用报错解决&Nginx核心配置文件解读
前端·nginx
祈澈菇凉1 小时前
webpack和grunt以及gulp有什么不同?
前端·webpack·gulp
十步杀一人_千里不留行1 小时前
React Native 下拉选择组件首次点击失效问题的深入分析与解决
javascript·react native·react.js
zy0101011 小时前
HTML列表,表格和表单
前端·html
初辰ge1 小时前
【p-camera-h5】 一款开箱即用的H5相机插件,支持拍照、录像、动态水印与样式高度定制化。
前端·相机
HugeYLH1 小时前
解决npm问题:错误的代理设置
前端·npm·node.js
六个点2 小时前
DNS与获取页面白屏时间
前端·面试·dns
customer082 小时前
【开源免费】基于SpringBoot+Vue.JS医疗报销系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
道不尽世间的沧桑2 小时前
第9篇:插槽(Slots)的使用
前端·javascript·vue.js