实现效果
实现代码
import {
ProForm,
ProFormDateTimeRangePicker,
} from "@ant-design/pro-components";
import { Switch } from "antd";
import { useState } from "react";
import moment from 'moment'
import dayjs from 'dayjs'
export default () => {
const rangePresets: {
label: string;
value: [Dayjs, Dayjs];
}[] = [
{ label: '此刻', value: [moment(), moment()], },
{ label: '今天', value: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')] },
];
const [readonly, setReadonly] = useState(false);
return (
<div
style={{
padding: 24
}}
>
<Switch
style={{
marginBlockEnd: 16
}}
checked={readonly}
checkedChildren="编辑"
unCheckedChildren="只读"
onChange={setReadonly}
/>
<ProForm
readonly={readonly}
initialValues={{
dateTimeRange: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
}}
onFinish={async (values) => {
console.log(values);
}}
>
<ProForm.Group title="日期相关分组">
<ProFormDateTimeRangePicker
name="dateTimeRange"
label="日期时间区间"
showTime={{
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
showNow: true,
}}
fieldProps={{
// ranges: {
// 此刻: [moment(), moment()],
// 'This Month': [moment().startOf('month'), moment().endOf('month')],
// }
presets: rangePresets
}}
presets={rangePresets}
ranges={{
Today: [moment(), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
}}
showNow={true}
showToday={true}
/>
</ProForm.Group>
</ProForm>
</div>
);
};