如何用flatpickr在禁用自定义日期基础上,禁用每周周5、周7?
解决flatpickr同时禁用指定日期和每周特定天数的问题
你只需要扩展disable选项的数组,同时包含原有的指定日期和禁用星期几的规则对象即可。flatpickr的disable支持混合传入日期数组和规则对象,其中规则对象可以通过daysOfWeek指定要禁用的星期(注意flatpickr中星期索引为0=周日,1=周一,…6=周六)。
根据你的需求,要禁用每周第5天(周五)和第7天(周日),对应flatpickr的索引是5(周五)和0(周日)。修改后的代码如下:
calendar.flatpickr({ disable: [...dateUnvailableCalendar, { daysOfWeek: [0, 5] }], minDate: "today", onChange: function (selectedDates, dateStr) { calendarHandleChange(dateStr); } });
关键说明:
- 使用扩展运算符
...将原有的dateUnvailableCalendar数组元素展开,保留禁用指定日期的功能。 - 添加
{ daysOfWeek: [0, 5] }对象,其中daysOfWeek数组内的数字对应flatpickr的星期索引:0= 周日(对应你说的第7天)5= 周五(对应你说的第5天)
- 如果你的星期定义和上述不同(比如第7天是周六),只需调整
daysOfWeek里的索引值即可(周六对应6)。
内容的提问来源于stack exchange,提问作者CHRISCOM
相关产品推荐
相关产品推荐

