2017-03-03 15:26:23 +08:00
|
|
|
---
|
|
|
|
order: 3
|
|
|
|
title:
|
|
|
|
zh-CN: 选择功能
|
|
|
|
en-US: Selectable Calendar
|
|
|
|
---
|
|
|
|
|
|
|
|
## zh-CN
|
|
|
|
|
|
|
|
一个通用的日历面板,支持年/月切换。
|
|
|
|
|
|
|
|
## en-US
|
|
|
|
|
|
|
|
A basic calendar component with Year/Month switch.
|
|
|
|
|
2022-05-19 09:46:26 +08:00
|
|
|
```tsx
|
2022-05-21 22:14:15 +08:00
|
|
|
import { Alert, Calendar } from 'antd';
|
2022-05-21 23:12:09 +08:00
|
|
|
import type { Dayjs } from 'dayjs';
|
2022-02-14 14:40:40 +08:00
|
|
|
import dayjs from 'dayjs';
|
2022-05-10 13:00:31 +08:00
|
|
|
import React, { useState } from 'react';
|
2017-03-03 15:26:23 +08:00
|
|
|
|
2022-05-19 09:46:26 +08:00
|
|
|
const App: React.FC = () => {
|
2022-05-21 22:14:15 +08:00
|
|
|
const [value, setValue] = useState(dayjs('2017-01-25'));
|
|
|
|
const [selectedValue, setSelectedValue] = useState(dayjs('2017-01-25'));
|
2022-05-19 09:46:26 +08:00
|
|
|
|
2022-05-21 23:12:09 +08:00
|
|
|
const onSelect = (newValue: Dayjs) => {
|
2022-05-19 09:46:26 +08:00
|
|
|
setValue(newValue);
|
|
|
|
setSelectedValue(newValue);
|
2019-05-07 14:57:32 +08:00
|
|
|
};
|
2018-06-27 15:55:04 +08:00
|
|
|
|
2022-05-21 23:12:09 +08:00
|
|
|
const onPanelChange = (newValue: Dayjs) => {
|
2022-05-19 09:46:26 +08:00
|
|
|
setValue(newValue);
|
2019-05-07 14:57:32 +08:00
|
|
|
};
|
2018-06-27 15:55:04 +08:00
|
|
|
|
2022-05-10 13:00:31 +08:00
|
|
|
return (
|
|
|
|
<>
|
2022-05-19 09:46:26 +08:00
|
|
|
<Alert message={`You selected date: ${selectedValue?.format('YYYY-MM-DD')}`} />
|
|
|
|
<Calendar value={value} onSelect={onSelect} onPanelChange={onPanelChange} />
|
2022-05-10 13:00:31 +08:00
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
2022-05-19 09:46:26 +08:00
|
|
|
|
|
|
|
export default App;
|
2019-05-07 14:57:32 +08:00
|
|
|
```
|