You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue3中如何禁用vuejs-datetimepicker的今日之前日期选择

禁用Vue日期时间选择器中今日之前的日期

要实现禁用今日之前的日期,你可以利用组件提供的disabled-date属性,通过自定义判断函数来过滤可选日期:

步骤1:定义禁用日期判断函数

在组件的setup函数中,创建一个用于判断日期是否需要禁用的函数,逻辑是如果传入的日期早于今天的起始时间(00:00:00),则禁用该日期:

import { ref } from 'vue'
import Datepicker from 'vue-datepicker-next'
import 'vue-datepicker-next/dist/index.css'

export default {
  components: { Datepicker },
  setup() {
    const date = ref(new Date())

    // 判断日期是否需要禁用
    const isDisabledDate = (targetDate) => {
      const todayStart = new Date()
      todayStart.setHours(0, 0, 0, 0) // 重置为今天的0点0分0秒
      return targetDate < todayStart
    }

    return {
      date,
      isDisabledDate
    }
  }
}

步骤2:绑定到日期选择器组件

在模板中给<datepicker>标签添加:disabled-date属性,绑定刚才定义的函数:

<template>
  <div id="app">
    <datepicker v-model="date" :disabled-date="isDisabledDate"></datepicker>
  </div>
</template>

说明

  • disabled-date是该组件的内置属性,它会对每个可选日期执行传入的判断函数,返回true时该日期会被禁用。
  • 重置今天的时间为0点,是为了避免因当前时间(比如下午3点)导致当天上午的时间段被误禁用,确保整个今日都能被选择。

内容的提问来源于stack exchange,提问作者Hoda Kh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:20:55