flatpickr - 在最后启用的日期设置 flatpickr 日期时间不起作用
问题描述
我的网页上有 flatpickr 日期选择器。用户可以从 minDate 到 maxDate 的范围内选择日期和时间。在创建表单组件时,我还想设置用户选择的最后一个值 - selectedDate。
如果selectedDate是从最后一天开始的,flatpicker 会忽略它。
我的代码:
const options: Partial<BaseOptions> = {
minDate: minDate, // "2020-12-05 00:00"
maxDate: maxDate, // "2020-12-24 23:59"
dateFormat: 'Y-m-d H:i',
defaultDate: selectedDate, // "2020-12-24 17:00"
enableTime: true,
};
const picker = <flatpickr.Instance> flatpickr(inputElement, options);
picker.setDate(selectedDate);
解决方案
经过一番调试,我发现了一个问题。Flatpicker将内部 maxDate 设置为最后一个午夜2020-12-24 23:59 => 2020-12-24 00:00 并且内部setDate()
忽略 selectedDate 2020-12-24 17:00,它不在 minDate maxDate 之间。
我通过在之前添加这行代码来解决这个问题picker.setDate(selectedDate);
// ... init the picker ...
picker.set('maxDate', maxDate);
// ... setDate() ...
这会将内部 maxDate 设置为所需的日期时间,并使您的 selectedDate 正常工作。
推荐阅读
- c - 取 x 向量,最多 8 个完整数字并分开奇偶数,并以 c 中的升序显示
- c# - 日期时间列的时间组件上的 Dataview 自定义过滤器
- php - 网站顶部栏菜单中的愿望清单项目计数器(YITH Wishlist/WooCommerce)
- ios - 如何在 Swift 包管理器中排除对 Catalyst 的依赖?
- javascript - React js检测页面重新加载
- android - 如何使用 BottomNavigationView 实现导航?
- php - 为什么涉及不同年份时按日期范围查询不起作用?
- javascript - 在JS中切换时截断字符串
- c++ - 抛出异常:读取访问冲突**this**
- javascript - 在 React Native 中从 API 设置数据