Я впервые использую DatePicker от HackerOne в своем приложении React: https://reactdatepicker.com/ У меня есть два не связанных вопроса.
Вот соответствующий код макета:
<div className={classes.subContainer}>
<div>
<label>
<DatePicker selected={scheduleDate}
onChange={date => dispatch({ type: UPDATE_SCHEDULE, propName: 'scheduleDate', payload: date })}
className={cx(classes.datePicker, technicianEmail === '' ? globalClasses.darkGrayText : '')}
minDate={new Date()}
disabled={technicianEmail === ''}
filterDate={isWeekday}
shouldCloseOnSelect={true}
/>
<span className={classes.calendarIconContainer}><FontAwesomeIcon icon={faCalendarAlt} size='1x' style={{'color': 'black'}} /></span>
</label>
</div>
</div>
Компонент действительно работает, но я наблюдаю два небольших глюка:
- Чтобы открыть календарь, вы нажимаете на то, что выглядит как текстовое поле. Вы выбираете дату, и она правильно устанавливает. НО календарь не закрывается. Это кажется странным для меня. Я даже добавил
shouldCloseOnSelect={true}
, но даже его включение не помогло. Требование к дизайну требовало иконки календаря в правой части DatePicker. Для этого я добавил код, который вы видите выше, вместе с этим CSS:
calendarIconContainer: {position:'lative ', top:' 0 ', right:' 20px ', zIndex:' 1 ' }
Хотя при этом значок размещается в правильном месте, к сожалению, когда календарь открыт, значок временно перемещается в нижний левый угол. Мне интересно, есть ли лучший способ включить значок с DatePicker.