我已经打开了一个github issue,但由于似乎没有活动,我会在这里问,希望有人能帮助我。
当前情况
我正在使用flatpickr进行日期选择,我需要阻止周末并设置提前期。
像这样的周末:
'disable': [
function(date) {
// blocking Sunday (0) and Saturday (6)
return (date.getDay() === 0 || date.getDay() === 6);
}
],
并设置4天的提前期(今天和接下来的3天被封锁):
// blocking today + 3 following days
minDate: new Date().fp_incr(4)
日期选择器不按预期工作。
期望:周末被封锁。
当在星期三选择日期时,从今天起,第一个选项应该是星期二以及随后的3天(星期三至星期一,不包括(周末)被封锁。
实际行为:minDate不阻止周末。
在星期三选择日期时,第一个选项是星期日,因为周末包括在计数中。但是,周末拦截器介入并实际上阻止了周末被挑选(正如预期的那样),所以第一个可能的日子是接下来的星期一。
如果minDate选项在disable选项之前或之后,它不会改变任何内容。
周末封锁:
没有周末封锁:
版本号
flatpickr 4.6.13
任何建议都很感激。我使用的是纯JavaScript和Blazor。有谁知道如何覆盖minDate或在minDate选项中插入一个函数来识别阻塞的日期吗?最好让minDate选项识别并尊重disable选项。
1条答案
按热度按时间6tdlim6h1#
这就是我的工作:
1.我在一个变量中设置了默认的提前期值为4
1.我将日期+提前期转换为字符串,得到
Sun Oct 01 2023 00:00:00 GMT+0200
1.然后检查String是否包含“Sat”或“Sun”
1.然后我用正确的
minDate
选项初始化flatpickr。(周末计数+2)听起来很脏,看起来很脏,但做我想做的。
首先初始化flatpickr,然后插入正确的提前期,这似乎不起作用。使用
minDate: function {..}
也不行感谢@CBroe把我推向正确的方向。