首页 > 解决方案 > 在 flatpickr 中允许日期小于 minDate

问题描述

我有以下代码:

if (setToToday) {
  this.flatpickr({
      minDate: 'today',
      defaultDate: new Date( $(this).attr("date")),
  });
} else {
    flatpickr(this).setDate(new Date( $(this).attr("date") ));
}

现在我想做的是向用户显示一个小于今天today的日期值。attr(date)假设今天是2021-03-03并且之前选择的值是2021-02-02,我想允许用户选择之前的日期或今天的任何日期。中间什么都没有。我怎么能在 flatpickr 中做到这一点?

标签: javascriptflatpickr

解决方案


如果您想让某些日期无法选择,可以使用多种方法。

  1. 禁用特定日期
  2. 禁用日期范围
  3. 使用函数禁用日期

禁用特定日期

{
    disable: ["2025-01-30", "2025-02-21", "2025-03-08", new Date(2025, 4, 9) ],
    dateFormat: "Y-m-d",
}

禁用日期范围:

{
    dateFormat: "Y-m-d",
    disable: [
        {
            from: "2025-04-01",
            to: "2025-05-01"
        },
        {
            from: "2025-09-01",
            to: "2025-12-01"
        }
    ]
}

通过函数禁用日期:

{
    "disable": [
        function(date) {
            // return true to disable
            return (date.getDay() === 0 || date.getDay() === 6);

        }
    ],
    "locale": {
        "firstDayOfWeek": 1 // start week on Monday
    }
}

更多内容请参考官方文档


推荐阅读