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>
相关推荐
IT_陈寒15 小时前
React 19 实战:5个新特性让你的开发效率提升50%!
前端·人工智能·后端
a31582380616 小时前
Android 大图显示策略优化显示(二)
android·java·开发语言·javascript·kotlin·glide·图片加载
计算机毕设VX:Fegn089516 小时前
计算机毕业设计|基于springboot + vue律师咨询系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
冴羽16 小时前
JavaScript Date 语法要过时了!以后用这个替代!
前端·javascript·node.js
加油乐16 小时前
react使用Ant Design
前端·react.js·ant design
OEC小胖胖16 小时前
05|从 `SuspenseException` 到 `retryTimedOutBoundary`:Suspense 的 Ping 与 Retry 机制
前端·前端框架·react·开源库
攀登的牵牛花16 小时前
前端向架构突围系列 - 框架设计(三):用开闭原则拯救你的组件库
前端·架构
前端小L16 小时前
专题一:搭建测试驱动环境 (TypeScript + Vitest)
前端·javascript·typescript·源码·vue3