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

Angular 12中kendo-datepicker组件如何禁用过去的日期

Kendo Date Picker禁用所有过去日期实现方案

修正现有代码问题

你的现有代码存在两个需要调整的点:

  • 属性绑定错误:[disabled]是用来禁用整个日期选择器组件的,控制禁用指定日期需要使用专门的[disabledDates]属性
  • 函数绑定错误:不要给disabledDates绑定的函数加()调用,直接传入函数引用即可,否则会频繁触发变更检测导致性能问题

完整实现代码

模板代码

<kendo-datepicker [(value)]="oneTime.startDate" [disabledDates]="disablePastDates">
</kendo-datepicker>

组件逻辑代码

// 组件类中定义判断函数
public disablePastDates = (date: Date): boolean => {
  // 先获取今天0点0分0秒的时间,避免当天因时分秒差异被误判
  const today = new Date();
  today.setHours(0, 0, 0, 0);
  // 日期小于今天则返回true(禁用),否则返回false(可用)
  return date < today;
}

可选调整

如果需要连当天也一起禁用,只需把判断条件修改为return date <= today;即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:12:02