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>
相关推荐
山河木马10 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
小林攻城狮10 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦10 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer10 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队10 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY10 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_11 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏11 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
SkyWalking中文站11 小时前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
cidy_9811 小时前
Dify 操作教程:工作流编排 & Chat 对话编排
前端·工作流引擎