【问题标题】:Disable all dates if empty array is passed into enable parameter in Flatpickr如果将空数组传递给 Flatpickr 中的启用参数,则禁用所有日期
【发布时间】:2018-08-29 08:25:12
【问题描述】:

我只是想知道,有没有办法禁用所有日期,以防将一个空的日期数组传递给 enable 参数。目前,我正在传递从数据库中获取的几个日期,在少数情况下,它不获取任何日期,在这种情况下,我希望完全禁用日历日期。到底有没有?

【问题讨论】:

    标签: flatpickr


    【解决方案1】:

    flatpickr 的文档中有一个示例。 https://flatpickr.js.org/examples/#disabling-specific-dates

    有3种可能:

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

    只要按照他们的榜样,你就会成功。

    在您的情况下,如果您的数组为空,我将使用函数禁用每个日期返回 true。

    【讨论】:

    • 我也试过了,还是不行。如果您传递一个空的日期数组,它会忽略并启用所有日期。启用和禁用参数的工作方式类似。最后,我不得不根据传递的数组禁用输入字段。无论如何,谢谢。
    • 不,你应该设置一个函数,在那里传递你的数组,如果“dateArray.length===0”返回true;因此,如果您的数组为空,则禁用每个日期
    • 正确,这就是它应该工作的方式,当您需要在将实际数组传递给启用参数之前进行一些其他操作时,应该传递函数。我已经形成了数组,当使用日期传递时,它将这些日期显示为启用,但是当数组为空时,没有一个被禁用。为方便起见,您可以尝试初始化一个 flatpickr 实例并将一个空数组传递给 enable 参数,让我知道日历的行为方式。
    • 我不将数组传递给“启用”或“禁用”配置参数。我已经为我分配了一个神奇的方法。 "disable": [ function(date) { // return true to disable if (yourArrayWithDates.length === 0) return true; } ],如果您使用 SPA (aurelia, angular),只需使用箭头函数并访问视图模型的属性,例如 disable = [ (date) => { // 返回 true 以禁用 if (this.yourArrayWithDates.length = == 0) 返回真; }]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 2021-11-11
    • 1970-01-01
    • 2021-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多