Комбинировать даты реакции с компонентом таймера - PullRequest
0 голосов
/ 19 мая 2019

Я добавил 2 анимированных GIF для большей специфичности проблемы.

Здравствуйте, я работаю над проектом реагирования, чтобы объединить airbnb/react-dates с пользовательским компонентом timepicker.

Рабочий процесс:
1. Пользователь выбирает день в первом открытом календаре <SingleDatePicker />
2. <SingleDatePicker> скрыт и отображается timepicker component.
3. Пользователь выбирает время и timepicker, календарную дату / время обновляется, а затем его скрывают.
4. 2nd <SingleDatePicker> включен, сфокусирован и открыт.
5. Та же процедура, что и 1-го <SingleDatePicker>

Проблема

Я не могу судить, когда показывать таймер, а когда нет. Это из-за функции focusChange: focusChange({ focused }, calendar, timePicker) { // handle the visiblility of calendars & timepickers this.setState({ [calendar]: focused, [ показать $ {timePicker} ]: !focused }); }

случаи:
1. Календарь открыт, пользователь нажимает снаружи => календарь закрывается, но открывается окно выбора времени. (Должен также скрыть таймер)
См. GIF:
enter image description here 2. Пользователь выбирает день и время (1-й календарь) => 2-й календарь открывается. Когда мы щелкаем взаимозаменяемо между календарями (входами) 1-го и 2-го, всегда открывается противоположный таймер.
См. GIF:

enter image description here

Вы можете играть на Живом примере: https://codesandbox.io/s/5v459yrwk4?fontsize=14

Что мне нужно, это знать, когда календарь закрывает базу выбора дня, чтобы открыть таймер и когда он закрывается из-за clickoutside, чтобы не отображать timepicker.

Любая помощь приветствуется.

...