需求场景
开始时间自动选择 00:00:00
结束时间自动选择23:59:59
,且不可选已过时间。
关键代码
showTime={{
defaultValue: [
moment("00:00:00", "HH:mm:ss"),
moment("23:59:59", "HH:mm:ss")
]
}}
禁用时间
// 当天时间可选
return current && current < moment().startOf("day");
// 当天时间不可选
return current && current < moment().endOf("day");
const disabledDate: RangePickerProps["disabledDate"] = (current) => {
// 当天时间可选
return current && current < moment().startOf("day");
// 当天时间不可选
// return current && current < moment().endOf("day");
};
完整组件代码
import React from "react";
import moment from "moment";
import { DatePicker } from "antd";
import type { RangePickerProps } from "antd/es/date-picker";
const { RangePicker } = DatePicker;
const DateComponent: React.FC = () => {
const disabledDate: RangePickerProps["disabledDate"] = (current) => {
// 当天时间可选
return current && current < moment().startOf("day");
// 当天时间不可选
// return current && current < moment().endOf("day");
};
return (
<>
<RangePicker
disabledDate={disabledDate}
showTime={{
defaultValue: [
moment("00:00:00", "HH:mm:ss"),
moment("23:59:59", "HH:mm:ss")
]
}}
format="YYYY-MM-DD HH:mm:ss"
/>
</>
);
};
export default DateComponent;
实现效果
开始时间默认选择 00:00:00
,开始时间可自定义。
结束时间默认选择 23:59:59
,结束时间可自定义。