ant-design/components/date-picker/demo/presetted-ranges.md

72 lines
1.7 KiB
Markdown
Raw Normal View History

---
order: 8
title:
2016-11-15 17:16:20 +08:00
zh-CN: 预设范围
en-US: Preset Ranges
---
## zh-CN
可以预设常用的日期范围以提高用户体验。
## en-US
We can set preset ranges to RangePicker to improve user experience.
```tsx
import React from 'react';
import { DatePicker, Space } from 'antd';
import dayjs from 'dayjs';
import type { Dayjs } from 'dayjs';
2018-06-27 15:55:04 +08:00
const { RangePicker } = DatePicker;
const onChange = (date: Dayjs) => {
if (date) {
console.log('Date: ', date);
} else {
console.log('Clear');
}
};
const onRangeChange = (dates: null | (Dayjs | null)[], dateStrings: string[]) => {
2022-05-18 17:25:40 +08:00
if (dates) {
console.log('From: ', dates[0], ', to: ', dates[1]);
console.log('From: ', dateStrings[0], ', to: ', dateStrings[1]);
} else {
console.log('Clear');
}
};
2017-05-15 16:36:07 +08:00
const rangePresets: {
label: string;
value: [Dayjs, Dayjs];
}[] = [
{ label: 'Last 7 Days', value: [dayjs().add(-7, 'd'), dayjs()] },
{ label: 'Last 14 Days', value: [dayjs().add(-14, 'd'), dayjs()] },
{ label: 'Last 30 Days', value: [dayjs().add(-30, 'd'), dayjs()] },
{ label: 'Last 90 Days', value: [dayjs().add(-90, 'd'), dayjs()] },
];
const App: React.FC = () => (
<Space direction="vertical" size={12}>
<DatePicker
presets={[
{ label: 'Yesterday', value: dayjs().add(-1, 'd') },
{ label: 'Last Week', value: dayjs().add(-7, 'd') },
{ label: 'Last Month', value: dayjs().add(-1, 'month') },
]}
2016-11-15 17:16:20 +08:00
onChange={onChange}
/>
<RangePicker presets={rangePresets} onChange={onRangeChange} />
<RangePicker
presets={rangePresets}
2017-05-15 14:37:22 +08:00
showTime
format="YYYY/MM/DD HH:mm:ss"
onChange={onRangeChange}
/>
</Space>
);
export default App;
2019-05-07 14:57:32 +08:00
```