element plus daterange限制选择跨度2年内的时间

1. 获取当前选中的第一个时间的值, 可以根据calendar-change事件获取, 如下

  const selectData = ref();
  const calendarChange = (dates: any) => {
    const hasSelectDate = dates !== null && dates.length > 0;
    selectData.value = hasSelectDate ? dates[0] : null;
    console.log(dates);
  };

2.获取到了选择的第一个时间值,那么禁用的时间就是(当前时间-2年)到(选择的时间+2年),这样就可以保证选出来的时间跨度为2年内了

3. 通过设置disable-date属性, 控制禁止选择的时间就行了, 如下

function disableDate(time: any) {
    const timeRange = 2 * 24 * 60 * 60 * 1000;
    if (selectData.value) {
      const minTime = new Date(selectData.value).getTime() - timeRange * 365;
      const maxTime = new Date(selectData.value).getTime() + timeRange * 365;
      return time.getTime() < minTime || time.getTime() > maxTime;
    } else {
      return false;
    }
  }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值