项目中用到的,需要限制时间控件的可选范围,以下代码为当前时间(到秒)之后的时间为可选时间。
range = (start, end) => {
const result = [];
for (let i = start; i <= end; i++) {
result.push(i);
}
console.log(result);
return result;
};
disabledDate = (current) => {
// 不能选今天和今天之前的日期
return current && current < moment();
};
disabledDateTime = () => {
let hours = moment().hours();//0~23
let minutes = moment().minutes();//0~59
//当日只能选择当前时间之后的时间点
if (this.state.upgradeTime.date() === moment().date()) {
return {
disabledHours: () => this.range(0, hours),
disabledMinutes: () => this.range(0, minutes),
};
}
};
<DatePicker
onChange={(upgradeTime) => this.setState({upgradeTime})}
showTime={{defaultValue: moment(this.state.upgradeTime)}}
disabledDate={this.disabledDate}
disabledTime={this.disabledDateTime}
format="YYYY-MM-DD HH:mm:ss"
placeholder="选择时间"
/>