#reactjs #react-datepicker
#reactjs #react-datepicker
Вопрос:
Я использую react-datepicker точно так же, как показано ниже, имея свойство minDate.
<DatePicker
className="form-control"
minDate={new Date()}
selected={this.props.GrantExpiryDate}
onChange={(e) => { this.props.onGrantExpiryDateSubmit(e); }}
disabled={disableControl} />
{this.props.GrantExpiryDate == null ? <div className={styles.requiredValidation}>Please select a date</div> : ''}
Если я выберу дату с помощью DatePicker, она будет работать нормально, как показано на снимке.
но когда я ввел дату, вручную введя элемент управления выбора даты, это позволяет мне вводить более старые даты, которые отключены.
Я знаю, что это можно обработать с помощью пользовательской функции, но все же это не то поведение, которое я ожидал от свойства minDate.
Есть ли какое-либо свойство или что-то, чтобы преодолеть эту проблему.
Ответ №1:
попробуйте использовать это
<DatePicker
...
onChangeRaw={e => e.preventDefault()}
/>
Комментарии:
1. Да, я сделал это, но это также блокирует меня вводить дату вручную в виде текста.
2. Если вы хотите ввести дату, как насчет попытки обработать compare в
onChnageRaw
функции?3. Это мой последний выбор, чтобы справиться с этим с помощью пользовательской функции. Если нет другого способа справиться с этим.
4. Я не уверен, я думаю, что это единственный способ для вас.
minDate
может предотвратить только выбранный не ввод.5. Упс! затем я перейду к пользовательской функции, чтобы предотвратить эту проблему. вы также можете добавить эту функцию в свой ответ.