为了更具体地解决问题,我添加了 2 个动画 GIF。
您好,我从事一个反应项目以airbnb/react-dates
与timepicker
自定义组件相结合。
工作流程是:
1. 用户在第一个打开的日历中选择一天<SingleDatePicker />
2.<SingleDatePicker>
隐藏并timepicker component
显示 a。
3. 用户选择一个时间timepicker
,日历日期/时间更新,然后隐藏。
4. 2nd<SingleDatePicker>
被启用、聚焦和打开。
5. 与第一次相同的程序<SingleDatePicker>
问题
我无法确定何时显示时间选择器,何时不显示。这是因为focusChange
函数:
focusChange({ focused }, calendar, timePicker) {
// handle the visiblility of calendars & timepickers
this.setState({
[calendar]: focused,
[
show${timePicker}]: !focused
});
}
案例:
1. 日历打开,用户点击外部 => 日历关闭但时间选择器打开。(也应该隐藏时间选择器)
参见 GIF:
2. 用户选择日期并选择时间(第一个日历)=> 第二个日历打开。当我们单击日历(输入)、第 1 和第 2 之间的可互换时,总是会打开相反的时间选择器。
见 GIF:
您可以在 Live 示例中播放:https ://codesandbox.io/s/5v459yrwk4?fontsize=14
我需要的是知道日历何时因日期选择而关闭,因此打开时间选择器,以及何时因 a 关闭clickoutside
而不显示 a timepicker
。
欢迎任何帮助。