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

使用mydatepicker的disableSince实现出生日期未来日期禁用

如何在mydatepicker中禁用未来日期?

我来帮你搞定这个问题!你需要禁用mydatepicker的未来日期,只保留当前及之前的日期可选,用disableSince配置项是完全正确的思路——只要把它设为当前日期的下一天,就能让所有等于或晚于这个日期的选项被禁用,正好满足你的需求。

具体实现步骤:

  1. 先写一个工具函数,用来计算当前日期的下一天,并返回组件需要的{year, month, day}格式对象(注意:JavaScript的Date对象月份是从0开始的,所以要给月份加1)。
  2. 在初始化myDatePickerOptions时,把disableSince的值设为这个函数的返回结果。

完整代码示例:

首先添加获取下一天的函数:

// 在你的组件类中定义这个函数
getNextDay(): {year: number, month: number, day: number} {
  const today = new Date();
  const nextDay = new Date(today);
  nextDay.setDate(today.getDate() + 1); // 把日期加1,得到下一天

  return {
    year: nextDay.getFullYear(),
    month: nextDay.getMonth() + 1, // 月份从0开始,所以+1转换为组件需要的1-12格式
    day: nextDay.getDate()
  };
}

然后更新你的日期选择器配置:

public myDatePickerOptions: IMyDpOptions = {
  // 你的其他配置项...
  dateFormat: 'dd / mmm / yyyy',
  disableSince: this.getNextDay() // 传入下一天的日期对象
};

为什么这样做?

disableSince的作用是禁用所有大于等于该日期的选项,所以把它设为明天的日期,就意味着今天及之前的日期全部可选,未来的日期都会被禁用,完美匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:04:22