element实现日期范围选择器的范围设置

1,162 阅读1分钟

限制日期范围在365天内,同时限制不能选择当天以后的日期

此时value-format="yyyy-MM-dd"

        onPick(time) {
          // 如果选择了只选择了一个时间
          if (!time.maxDate) {
            let timeRange = 365 * 24 * 60 * 60 * 1000; // 365天
            _minTime = time.minDate.getTime() - timeRange; // 最小时间
            _maxTime = time.minDate.getTime() + timeRange; // 最大时间
            // 如果选了两个时间,那就清空本次范围判断数据,以备重选
          } else {
            _minTime = _maxTime = null;
          }
        },
        disabledDate(time) {
          // onPick后触发
          // 该方法会轮询当365天内的每一个日期,返回false表示该日期禁选
          //time.getTime() <= new Date().getTime() - 8.64e7 当前之前
          if (Date.now() < time) {
            return true;
          }
          if (_minTime && _maxTime) {
            return time.getTime() < _minTime || time.getTime() > _maxTime;
          }
        },
      },

QQ截图20210508143546.png 参照简书