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";
          }
        }
      }
    },
相关推荐
来颗仙人掌吃吃几秒前
解决Echarts设置宽度为100%发现宽度变为100px的问题(Echarts图标宽度自适应问题)
前端·javascript·echarts
余子桃几秒前
Echarts图表官网打开太慢怎么办?echarts.apache.org
前端·javascript·echarts
pas1361 分钟前
41-parse的实现原理&有限状态机
开发语言·前端·javascript
黑色的糖果14 分钟前
vue中tailwindcss插件的引入及使用
前端·javascript·vue.js
戌中横19 分钟前
JavaScript——预解析
前端·javascript·学习
AALoveTouch1 小时前
大麦网协议分析
javascript·python
●VON1 小时前
React Native for OpenHarmony:2048 小游戏的开发与跨平台适配实践
javascript·学习·react native·react.js·von
木斯佳1 小时前
前端八股文面经大全:26届秋招滴滴校招前端一面面经-事件循环题解析
前端·状态模式
光影少年2 小时前
react状态管理都有哪些及优缺点和应用场景
前端·react.js·前端框架
晚烛3 小时前
CANN + 物理信息神经网络(PINNs):求解偏微分方程的新范式
javascript·人工智能·flutter·html·零售