zoukankan      html  css  js  c++  java
  • ElementUI DatePicker 日期选择器控制选择时间范围

    选择了开始时间,再选择结束时间的时候就不能早于开始时间;
    选择了结束时间,再选择开始时间的时候就不能晚于结束时间;

    如果开始时间为空,选择结束时间只能是今天之后的时间;

    <el-date-picker v-model="ruleForm.startTime" type="date" placeholder="开始时间" :picker-options="pickerOptions0"></el-date-picker>
    <el-date-picker v-model="ruleForm.endTime" type="date" placeholder="截止时间" :picker-options="pickerOptions1"></el-date-picker>
    data(){
        return {
        pickerOptions0: {        
         disabledDate: time => {
              if (this.ruleForm.endTime != "" && this.ruleForm.endTime) {
                let timeStr = new Date(this.ruleForm.endTime.replace(/-/g, "/"));
                return time.getTime() > timeStr;
              } else {
                return "";
              }
            }
          },
          pickerOptions1: {
            disabledDate: time => {
              if (this.ruleForm.startTime != "" && this.ruleForm.startTime) {
                let timeStr = new Date(this.ruleForm.startTime.replace(/-/g, "/"));
                return time.getTime() < timeStr;
              } else if (this.ruleForm.startTime == "") {
                return time.getTime() < Date.now() - 8.64e7; //如果没有后面的-8.64e7就是不可以选择今天
              } else {
                return "";
              }
            }
          }
        }  
    }
     

    选择今天以及今天之后的日期

    <el-date-picker
           v-model="value1"
           type="date"
           placeholder="选择日期"
           :picker-options="pickerOptions0">
    </el-date-picker>
    
    data(){
        return {
            pickerOptions0: { 
                disabledDate(time) {
                    return time.getTime() < Date.now() - 8.64e7;//如果没有后面的-8.64e7就是不可以选择今天 
                }
            }
        }  
    }

    选择今天以及今天以前的日期

    data (){
       return {
           pickerOptions0: {
              disabledDate(time) {
                return time.getTime() > Date.now() - 8.64e6;//如果没有后面的-8.64e6就是不可以选择今天
              }
            },  
       }     
    }
    

    限制结束日期不能大于开始日期

    <el-date-picker
           v-model="value1"
           type="date"
           placeholder="开始日期"
           :picker-options="pickerOptions0">
    </el-date-picker>
    <el-date-picker
           v-model="value2"
           type="date"
           placeholder="结束日期"
           :picker-options="pickerOptions1">
    </el-date-picker>
    
    data(){
        return {
             pickerOptions0: {
                    disabledDate: (time) => {
                        if (this.value2 != "") {
                            return time.getTime() >  new Date(this.value2).getTime();
     
                    }
                },
                pickerOptions1: {
                    disabledDate: (time) => {
                        return time.getTime() < new Date(this.value1).getTime()- 1*24*60*60*1000;//减去一天的时间代表可以选择同一天;
                    }
                },
        }      
    }

    限制选择开始时间不能小于当前时间。并且结束时间不能大于开始时间(比上面多了层限时)

    pickerOptions0: {
        //结束时间不能大于开始时间
        disabledDate: time => {
            if (this.addForm.date_range_end) {
                return (
                    time.getTime() >
                    new Date(this.addForm.date_range_end).getTime()
                );
            } else {
                //还没有选择结束时间的时候,让他只能选择今天之后的时间包括今天
                return time.getTime() < Date.now() - 8.64e7;
            }
        }
    },
    pickerOptions1: {
        disabledDate: time => {
            if (this.addForm.date_range_start) {
                return (
                    time.getTime() <
                    new Date(this.addForm.date_range_start).getTime() -
                        1 * 24 * 60 * 60 * 1000
                ); //可以选择同一天
            }
        }
    },

     限制不能选择今年之后的年份

    <el-date-picker v-model="year" type="year" placeholder="选择年度" value-format="yyyy" :picker-options="pickerOptions0"></el-date-picker>
    
    pickerOptions0: {
          disabledDate(time) {
               return time.getTime() > Date.now() - new Date().getFullYear();
          }
    },
    
  • 相关阅读:
    RTMP协议Web直播点播系统EasyDSS视频平台解决无法获取指定时间快照问题
    在线教育web无插件点播平台EasyDSS在上传部分点播文件出现无法观看问题如何修复?
    RTMP协议Web直播点播服务平台EasyDSS增加获取录像指定时间的m3u8播放地址
    RTMP协议视频平台EasyDSS编译过程中Go语言异步信息处理设计与实现
    在线课堂web无插件直播点播平台EasyDSS播放指定时间段的录像报404是什么原因?
    推流直播如何通过EasyDSS推流将内网EasyGBS视频流推到公网直播间进行直播?
    RTMP协议视频平台EasyDSS开发中如何通过Go语言 gorm 框架钩子函数精简代码?
    POJ1740 A New Stone Game 博弈论基础题 男人8题
    HDU1847 博弈论 水题
    POJ 2763 Housewife Wind LCA基础题
  • 原文地址:https://www.cnblogs.com/wangjae/p/10564709.html
Copyright © 2011-2022 走看看