Я использую реагировать-DateTime и хочу отключить кого от того, чтобы выбрать дату/время в прошлом, так как это будет отправлять электронные письма, которые не должен появляться, чтобы был отправлен в прошлом. Documentation показывает мне, как отключать даты раньше, но когда я пытался отключить минуты, его можно поменять вручную в раскрывающемся списке календаря. Код ниже является частью большой платформы электронной почты, но должен иметь смысл сделать некоторые фрагменты. Файл живет here, и вы также можете увидеть весь репо.React.js: отключить DateTime при изменении в прошлом
В идеале, если кто-то выбирает дату или время в одну минуту или больше в прошлом, он должен прыгать обратно в текущее время и только иметь возможность «отправить», если в настоящий момент. Любая помощь будет потрясающей - спасибо!
isValidDate(dt) {
return (dt >= (moment().startOf('day')))
&& (dt <= moment().add(30, 'days'))
&& moment().subtract(1, 'minute');
}
Я уже пробовал выше, но все же давайте редактировать вручную :(
class EmailSendDialog extends Component {
constructor(props) {
super(props);
this.state = {
listId: null,
now: true,
date: moment(),
tz: this.defaultTz
};
}
handleDateTimeSelect(date) {
this.setState({ date });
}
isValidDate(dt) {
return (dt >= (moment().startOf('day')))
&& (dt <= moment().add(30, 'days'))
&& moment().subtract(1, 'minute');
}
Оказывать, у меня есть это:
<DateTime
value={date}
dateFormat="D MMM YYYY"
isValidDate={this.isValidDate}
onChange={(_date) => this.handleDateTimeSelect(_date)}
/>