【已解决】el-date-picker type=“datetime“限制(动态)可选时间范围,精确到分钟!!!

文章目录

Vue2 + element ui

实现效果

code

html 复制代码
<template>
  <el-date-picker
    ref="datePicker"
    v-model="date"
    type="datetime"
    :picker-options="pickerOptions"
    placeholder="请选择日期时间"
    format="yyyy-MM-dd HH:mm"
    value-format="yyyy-MM-dd HH:mm"
    @change="changeTime"
  >
  </el-date-picker>
</template>

<script>
import dayjs from 'dayjs'
export default {
  data() {
    return {
      date: '',
      startTime: '2025-11-09 11:10:00',
      endTime: '2025-11-29 18:20:00',
    };
  },

  computed: {
  // 由于 onPick 方法只适用于 datetimerange
  // 所以在此使用 computed的方式来实现;
  // 当每次选中日期,重新计算禁用小时(selectableRange)
    pickerOptions() {
      const selectableRange = this.getSelectableRange(this.date)
      return {
        disabledDate: (date) => {
          const s = new Date(this.startTime).getTime()
          const e = new Date(this.endTime).getTime()
          return date.getTime() < s - 8.64e7 || date.getTime() > e
        },
        selectableRange
      }
    }
  },

  methods: {
    getSelectableRange(date) {
      if (dayjs(date).isSame('2025-11-09 11:00:00',  'day')) {
        return '11:00:00 - 23:59:59'
      }
      if (dayjs(date).isSame('2025-11-29 18:00:00',  'day')) {
        return '00:00:00 - 18:20:00'
      }
      return '00:00:00 - 23:59:59'
    },
    changeTime(date) {
      if (dayjs(date).isBefore(this.startTime, 'minutes')) {
        this.date = this.startTime
      }
      if (dayjs(date).isAfter(this.endTime, 'minutes')) {
        this.date = this.endTime
      }
    }
  },
};
</script>
相关推荐
雨季~~几秒前
前端使用ffmpeg进行视频格式转换 (WebM → MP4)
前端·typescript·ffmpeg·vue
星火飞码iFlyCode3 分钟前
iFlyCode实践规范驱动开发(SDD):招考平台报名相片质量抽检功能开发实战
java·前端·python·算法·ai编程·科大讯飞
Mr.app5 分钟前
Element-Plus 面包屑当前项样式以及处理最后一个元素
vue.js
q_19132846956 分钟前
基于SpringBoot+Vue.js的教师绩效考核管理系统
vue.js·spring boot·笔记·后端·mysql·毕业设计
小北方城市网6 分钟前
第 9 课:Node.js + Express 后端实战 —— 为任务管理系统搭建专属 API 服务
大数据·前端·ai·node.js·express
世界唯一最大变量7 分钟前
此算法能稳定求出柏林52城问题最优解7540.23(整数时为7538),比传统旅行商问题的算法7544.37还优
前端·python·算法
Nan_Shu_61410 分钟前
学习:TypeScript (1)
前端·javascript·学习·typescript
沛沛老爹12 分钟前
Web开发者快速上手AI Agent:基于Advanced-RAG的提示词应用
前端·人工智能·langchain·llm·rag·web转型·advanced-rag
59678515414 分钟前
HTML元素
前端·html