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";
          }
        }
      }
    },
相关推荐
计算机毕设VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue在线考试系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
布列瑟农的星空6 小时前
Playwright使用体验
前端·单元测试
卤代烃7 小时前
🦾 可为与不可为:CDP 视角下的 Browser 控制边界
前端·人工智能·浏览器
_XU7 小时前
AI工具如何重塑我的开发日常
前端·人工智能·深度学习
C_心欲无痕7 小时前
vue3 - defineExpose暴露给父组件属性和方法
前端·javascript·vue.js·vue3
鹿人戛7 小时前
HarmonyOS应用开发:相机预览花屏问题解决案例
android·前端·harmonyos
萌萌哒草头将军8 小时前
绿联云 NAS 安装 AudioDock 详细教程
前端·docker·容器
计算机毕设VX:Fegn08958 小时前
计算机毕业设计|基于springboot + vue宠物医院管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
贺今宵8 小时前
安装better-sqlite3报错electron-vite
javascript·sql·sqlite·sqlite3
GIS之路8 小时前
GIS 数据转换:使用 GDAL 将 GeoJSON 转换为 Shp 数据
前端