range = (start, end) => {
const result = [];
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
};
disabledDate = (current) => {
return current && current > moment().endOf('day');
};
disabledDateTime = (date) => {
const hour = moment().hour();
const minute = moment().minute();
const second = moment().second();
if (date && moment(date).date() === moment().date()) {
return {
disabledHours: () => this.range(hour + 1, 24),
disabledMinutes: (selectedHour) =>
selectedHour >= hour ? this.range(minute + 1, 60) : [],
disabledSeconds: (selectedHour, selectedMinute) =>
selectedHour >= hour && selectedMinute >= minute
? this.range(second + 1, 60)
: []
};
}
return {
disabledHours: () => [],
disabledMinutes: () => [],
disabledSeconds: () => []
};
};
<FormItem label="签离时间">
{getFieldDecorator('time', {
initialValue: undefined,
})(<DatePicker
showTime
disabledDate={this.disabledDate}
disabledTime={this.disabledDateTime}
/>)}</FormItem>