el-date-picker限制选择范围

el-date-picker限制选择范围

vue 复制代码
<template>
  <!-- 限制选择范围为±29天 -->
  <div>
    <el-date-picker
      v-model="timeMap"
      type="daterange"
      value-format="yyyy-MM-dd"
      range-separator=" --- "
      start-placeholder="开始日期"
      end-placeholder="结束日期"
      clearable
      :picker-options="pickerOptions"
      @change="daterangeChange"
    />
  </div>
</template>

<script>
export default {
  data() {
    return {
      timeMap: [],
      firstMinDate: 0 // 存储首次选择的日期时间戳
    };
  },
  computed: {
    pickerOptions() {
      const self = this;
      const maxDays = 29 * (24 * 60 * 60 * 1000); // 限制±29天
      return {
        disabledDate(time) {
          if (self.firstMinDate > 0) {
            return time.getTime() > self.firstMinDate + maxDays || time.getTime() < self.firstMinDate - maxDays;
          }
          return false; // 首次选择前、清空日期时不禁用任何日期
        },
        onPick({ minDate }) {
          self.firstMinDate = minDate ? new Date(minDate).getTime() : 0;
        }
      };
    }
  },

  methods: {
    daterangeChange(value) {
      if (!value) {
        this.firstMinDate = 0;
      }
    }
  }
};
</script>

<style lang="scss" scoped></style>
相关推荐
清山博客8 小时前
OpenCV 人脸识别和比对工具
前端·webpack·node.js
要加油哦~8 小时前
AI | 实践教程 - ScreenCoder | 多agents前端代码生成
前端·javascript·人工智能
程序员Sunday8 小时前
说点不一样的。GPT-5.3 与 Claude Opus 4.6 同时炸场,前端变天了?
前端·gpt·状态模式
yq1982043011568 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class8 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript
aPurpleBerry8 小时前
monorepo (Monolithic Repository) pnpm rush
前端
青茶3608 小时前
php怎么实现订单接口状态轮询请求
前端·javascript·php
火车叼位9 小时前
脚本伪装:让 Python 与 Node.js 像原生 Shell 命令一样运行
运维·javascript·python
VT.馒头9 小时前
【力扣】2727. 判断对象是否为空
javascript·数据结构·算法·leetcode·职场和发展
鹏北海9 小时前
micro-app 微前端项目部署指南
前端·nginx·微服务