gpt4 book ai didi

javascript - 创建一个函数,防止在 React Date Picker 中选择特定日期之前的不同日期

转载 作者:行者123 更新时间:2023-11-28 03:35:18 24 4
gpt4 key购买 nike

例如,this.state.endDate = new Date("2019-07-12 15:00:00 + 00 ")。我的目标:阻止在日期选择器中选择早于或等于 this.state.endDate 的日期的可能性(this.state.endDate 中的日期将会改变) 。到目前为止,我设法阻止了选择比当前日期更早的日期的可能性。但是,我在将其设置为不与当前日期比较而是与 this.state.endDate 比较时遇到问题。我使用这个库:https://www.npmjs.com/package/react-datepicker

此处代码:https://stackblitz.com/edit/react-rt4tzm

import DatePicker from "react-datepicker";
import "react-datepicker/dist/react-datepicker.css";
import moment from 'moment';


class App extends Component {
constructor() {
super();
this.state = {
selected: new Date(),
minTime: this.calculateMinTime("2019-07-12 15:00:00+00"),
endDate: new Date()
};
}

componentDidMount() {
this.setState({
endDate: new Date("2019-07-12 15:00:00+00")
})
}

calculateMinTime = date => {
let isToday = moment(date).isSame(moment(), 'day');
if (isToday) {
let nowAddOneHour = moment(new Date()).add({hours: 1}).toDate();
return nowAddOneHour;
}
return moment().startOf('day').toDate();
}

handle = (date) => {
this.setState({
selectedDate: date,
minTime: this.calculateMinTime(date)
})
}

render() {
console.log(this.state.endDate)
return (
<div>
<DatePicker
selected={this.state.selected}
onChange={this.handle}
excludeOut
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
dateFormat="MMMM d, yyyy h:mm aa"
timeCaption="time"
minDate={new Date()}
minTime={this.state.minTime}
maxTime={moment().endOf('day').toDate()}
/>
</div>
);
}
}

最佳答案

您需要设置 minDate={this.state.endDate} 。这将阻止用户选择 endDate 之前的任何日期。

关于javascript - 创建一个函数,防止在 React Date Picker 中选择特定日期之前的不同日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57796984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com