elementUI中日期时间插件(DateTimePicke)daterange 时间跨度为15天 且 时间小于当前时间

要求

1、时间跨度为半个月
2、不能选择大于当前日期的时间

页面效果

在这里插入图片描述

api 语法

在这里插入图片描述

实现
    <el-date-picker
      v-model="value1"
      type="daterange"
      :picker-options="pickerBeginDateBefore"
      @change='selectData'
      range-separator="至"
      start-placeholder="开始日期"
      end-placeholder="结束日期">
    </el-date-picker>
data() {
  return {
    value1: '',
    
    minDate:'',
    maxDate:'',
    pickerBeginDateBefore:{
      onPick:({maxDate,minDate})=>{
        this.minDate=minDate;
        this.maxDate=maxDate;
      },
      disabledDate:time=> {
        let three=15*24*3600*1000;
        if(this.minDate){
          return time.getTime() > Date.now()||time>(new Date(this.minDate.getTime()+three))||time<(new Date(this.minDate.getTime()-three));
        }
        return time.getTime() > Date.now();
      }
     },   
    };
  methods: {
    selectData(e){
      if(e===null){
        this.minDate='';
        this.maxDate='';
        this.pickerBeginDateBefore={
          disabledDate:time=> {

          let three=15*24*3600*1000;
          if(this.minDate){
            return time.getTime() > Date.now()|| time>(new Date(this.minDate.getTime()+three))||time<(new Date(this.minDate.getTime()-three));
          }
          return time.getTime() > Date.now();
          }
        };
      }
    },
  }

补充:
若需求为 只能选择最近一个月的时间,限定规则为:

pickerOptions: {
    disabledDate(time){
      return  time.getTime() > Date.now()-(24*60*60*1000) || time.getTime() < (Date.now()-(30*24*60*60*1000));
    }
  },
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值