logoAnt Design

⌘ K
  • 设计
  • 研发
  • 组件
  • 博客
  • 资源
  • 国内镜像
5.20.6
  • 组件总览
  • 通用
    • Button
      按钮
    • FloatButton
      悬浮按钮
      5.0.0
    • Icon
      图标
    • Typography
      排版
  • 布局
    • Divider
      分割线
    • Flex
      弹性布局
      5.10.0
    • Grid
      栅格
    • Layout
      布局
    • Space
      间距
  • 导航
    • Anchor
      锚点
    • Breadcrumb
      面包屑
    • Dropdown
      下拉菜单
    • Menu
      导航菜单
    • Pagination
      分页
    • Steps
      步骤条
  • 数据录入
    • AutoComplete
      自动完成
    • Cascader
      级联选择
    • Checkbox
      多选框
    • ColorPicker
      颜色选择器
      5.5.0
    • DatePicker
      日期选择框
    • Form
      表单
    • Input
      输入框
    • InputNumber
      数字输入框
    • Mentions
      提及
    • Radio
      单选框
    • Rate
      评分
    • Select
      选择器
    • Slider
      滑动输入条
    • Switch
      开关
    • TimePicker
      时间选择框
    • Transfer
      穿梭框
    • TreeSelect
      树选择
    • Upload
      上传
  • 数据展示
    • Avatar
      头像
    • Badge
      徽标数
    • Calendar
      日历
    • Card
      卡片
    • Carousel
      走马灯
    • Collapse
      折叠面板
    • Descriptions
      描述列表
    • Empty
      空状态
    • Image
      图片
    • List
      列表
    • Popover
      气泡卡片
    • QRCode
      二维码
      5.1.0
    • Segmented
      分段控制器
    • Statistic
      统计数值
    • Table
      表格
    • Tabs
      标签页
    • Tag
      标签
    • Timeline
      时间轴
    • Tooltip
      文字提示
    • Tour
      漫游式引导
      5.0.0
    • Tree
      树形控件
  • 反馈
    • Alert
      警告提示
    • Drawer
      抽屉
    • Message
      全局提示
    • Modal
      对话框
    • Notification
      通知提醒框
    • Popconfirm
      气泡确认框
    • Progress
      进度条
    • Result
      结果
    • Skeleton
      骨架屏
    • Spin
      加载中
    • Watermark
      水印
      5.1.0
  • 其他
    • Affix
      固钉
    • App
      包裹组件
      5.1.0
    • ConfigProvider
      全局化配置
    • Util
      工具类
      5.13.0

Calendar
日历

按照日历形式展示数据的容器。
使用import{ Calendar }from"antd";
源码components/calendar
文档编辑此页

相关资源

Ant Design Charts
Ant Design Pro
Ant Design Pro Components
Ant Design Mobile
Ant Design Mini
Ant Design Landing-首页模板集
Scaffolds-脚手架市场
Umi-React 应用开发框架
dumi-组件/文档研发工具
qiankun-微前端框架
ahooks-React Hooks 库
Ant Motion-设计动效
国内镜像站点 🇨🇳

社区

Awesome Ant Design
Medium
Twitter
yuque logoAnt Design 语雀专栏
Ant Design 知乎专栏
体验科技专栏
seeconf logoSEE Conf-蚂蚁体验科技大会
加入我们

帮助

GitHub
更新日志
常见问题
报告 Bug
议题
讨论区
StackOverflow
SegmentFault

Ant XTech logo更多产品

yuque logo语雀-构建你的数字花园
AntV logoAntV-数据可视化解决方案
Egg logoEgg-企业级 Node.js 框架
Kitchen logoKitchen-Sketch 工具集
Galacean logoGalacean-互动图形解决方案
xtech logo蚂蚁体验科技
主题编辑器
Made with ❤ by
蚂蚁集团和 Ant Design 开源社区
loading

何时使用

当数据是日期或按照日期划分时,例如日程、课表、价格日历等,农历等。目前支持年/月切换。

代码演示

2024年
9月
一二三四五六日
26
27
28
29
30
31
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
01
02
03
04
05
06
基本

一个通用的日历面板,支持年/月切换。

codepen icon
External Link Icon
expand codeexpand code
2024年
9月
一二三四五六日
26
    27
      28
        29
          30
            31
              01
                02
                  03
                    04
                      05
                        06
                          07
                            08
                            • This is warning event.
                            • This is usual event.
                            09
                              10
                              • This is warning event.
                              • This is usual event.
                              • This is error event.
                              11
                                12
                                  13
                                    14
                                      15
                                      • This is warning event
                                      • This is very long usual event......
                                      • This is error event 1.
                                      • This is error event 2.
                                      • This is error event 3.
                                      • This is error event 4.
                                      16
                                        17
                                          18
                                            19
                                              20
                                                21
                                                  22
                                                    23
                                                      24
                                                        25
                                                          26
                                                            27
                                                              28
                                                                29
                                                                  30
                                                                    01
                                                                      02
                                                                        03
                                                                          04
                                                                            05
                                                                              06
                                                                                通知事项日历

                                                                                一个复杂的应用示例,用 dateCellRender 和 monthCellRender 函数来自定义需要渲染的数据。

                                                                                codepen icon
                                                                                External Link Icon
                                                                                expand codeexpand code
                                                                                2024年
                                                                                9月
                                                                                一二三四五六日
                                                                                26
                                                                                27
                                                                                28
                                                                                29
                                                                                30
                                                                                31
                                                                                01
                                                                                02
                                                                                03
                                                                                04
                                                                                05
                                                                                06
                                                                                07
                                                                                08
                                                                                09
                                                                                10
                                                                                11
                                                                                12
                                                                                13
                                                                                14
                                                                                15
                                                                                16
                                                                                17
                                                                                18
                                                                                19
                                                                                20
                                                                                21
                                                                                22
                                                                                23
                                                                                24
                                                                                25
                                                                                26
                                                                                27
                                                                                28
                                                                                29
                                                                                30
                                                                                01
                                                                                02
                                                                                03
                                                                                04
                                                                                05
                                                                                06
                                                                                卡片模式

                                                                                用于嵌套在空间有限的容器中。

                                                                                codepen icon
                                                                                External Link Icon
                                                                                expand codeexpand code
                                                                                You selected date: 2017-01-25
                                                                                2017年
                                                                                1月
                                                                                一二三四五六日
                                                                                26
                                                                                27
                                                                                28
                                                                                29
                                                                                30
                                                                                31
                                                                                01
                                                                                02
                                                                                03
                                                                                04
                                                                                05
                                                                                06
                                                                                07
                                                                                08
                                                                                09
                                                                                10
                                                                                11
                                                                                12
                                                                                13
                                                                                14
                                                                                15
                                                                                16
                                                                                17
                                                                                18
                                                                                19
                                                                                20
                                                                                21
                                                                                22
                                                                                23
                                                                                24
                                                                                25
                                                                                26
                                                                                27
                                                                                28
                                                                                29
                                                                                30
                                                                                31
                                                                                01
                                                                                02
                                                                                03
                                                                                04
                                                                                05
                                                                                选择功能

                                                                                一个通用的日历面板,支持年/月切换。

                                                                                codepen icon
                                                                                External Link Icon
                                                                                expand codeexpand code
                                                                                二〇二四年(甲辰龙年)
                                                                                9月(七月)
                                                                                一二三四五六日
                                                                                26
                                                                                廿三
                                                                                27
                                                                                廿四
                                                                                28
                                                                                廿五
                                                                                29
                                                                                廿六
                                                                                30
                                                                                廿七
                                                                                31
                                                                                廿八
                                                                                1
                                                                                廿九
                                                                                2
                                                                                三十
                                                                                3
                                                                                初一
                                                                                4
                                                                                初二
                                                                                5
                                                                                初三
                                                                                6
                                                                                初四
                                                                                7
                                                                                白露
                                                                                8
                                                                                初六
                                                                                9
                                                                                初七
                                                                                10
                                                                                初八
                                                                                11
                                                                                初九
                                                                                12
                                                                                初十
                                                                                13
                                                                                十一
                                                                                14
                                                                                十二
                                                                                15
                                                                                十三
                                                                                16
                                                                                十四
                                                                                17
                                                                                中秋节
                                                                                18
                                                                                十六
                                                                                19
                                                                                十七
                                                                                20
                                                                                十八
                                                                                21
                                                                                十九
                                                                                22
                                                                                秋分
                                                                                23
                                                                                廿一
                                                                                24
                                                                                廿二
                                                                                25
                                                                                廿三
                                                                                26
                                                                                廿四
                                                                                27
                                                                                廿五
                                                                                28
                                                                                廿六
                                                                                29
                                                                                廿七
                                                                                30
                                                                                廿八
                                                                                1
                                                                                国庆节
                                                                                2
                                                                                三十
                                                                                3
                                                                                初一
                                                                                4
                                                                                初二
                                                                                5
                                                                                初三
                                                                                6
                                                                                初四
                                                                                农历日历

                                                                                展示农历、节气等信息。

                                                                                codepen icon
                                                                                External Link Icon
                                                                                expand codeexpand code

                                                                                Custom header

                                                                                2024
                                                                                Sep
                                                                                一二三四五六日
                                                                                26
                                                                                27
                                                                                28
                                                                                29
                                                                                30
                                                                                31
                                                                                01
                                                                                02
                                                                                03
                                                                                04
                                                                                05
                                                                                06
                                                                                07
                                                                                08
                                                                                09
                                                                                10
                                                                                11
                                                                                12
                                                                                13
                                                                                14
                                                                                15
                                                                                16
                                                                                17
                                                                                18
                                                                                19
                                                                                20
                                                                                21
                                                                                22
                                                                                23
                                                                                24
                                                                                25
                                                                                26
                                                                                27
                                                                                28
                                                                                29
                                                                                30
                                                                                01
                                                                                02
                                                                                03
                                                                                04
                                                                                05
                                                                                06
                                                                                自定义头部

                                                                                自定义日历头部内容。

                                                                                codepen icon
                                                                                External Link Icon
                                                                                expand codeexpand code

                                                                                API

                                                                                通用属性参考:通用属性

                                                                                注意:Calendar 部分 locale 是从 value 中读取,所以请先正确设置 dayjs 的 locale。

                                                                                // 默认语言为 en-US,所以如果需要使用其他语言,推荐在入口文件全局设置 locale
                                                                                // import dayjs from 'dayjs';
                                                                                // import 'dayjs/locale/zh-cn';
                                                                                // dayjs.locale('zh-cn');
                                                                                <Calendar
                                                                                dateCellRender={dateCellRender}
                                                                                monthCellRender={monthCellRender}
                                                                                onPanelChange={onPanelChange}
                                                                                onSelect={onSelect}
                                                                                />
                                                                                参数说明类型默认值版本
                                                                                dateCellRender自定义渲染日期单元格,返回内容会被追加到单元格,>= 5.4.0 请用 cellRenderfunction(date: Dayjs): ReactNode-< 5.4.0
                                                                                cellRender自定义单元格的内容function(current: dayjs, today: dayjs, info: { originNode: React.ReactElement,today: DateType, range?: 'start' | 'end', type: PanelMode, locale?: Locale, subType?: 'hour' | 'minute' | 'second' | 'meridiem' }) => React.ReactNode-5.4.0
                                                                                dateFullCellRender自定义渲染日期单元格,返回内容覆盖单元格,>= 5.4.0 请用 fullCellRenderfunction(date: Dayjs): ReactNode-< 5.4.0
                                                                                fullCellRender自定义单元格的内容function(current: dayjs, today: dayjs, info: { originNode: React.ReactElement,today: DateType, range?: 'start' | 'end', type: PanelMode, locale?: Locale, subType?: 'hour' | 'minute' | 'second' | 'meridiem' }) => React.ReactNode-5.4.0
                                                                                defaultValue默认展示的日期dayjs-
                                                                                disabledDate不可选择的日期,参数为当前 value,注意使用时不要直接修改(currentDate: Dayjs) => boolean-
                                                                                fullscreen是否全屏显示booleantrue
                                                                                headerRender自定义头部内容function(object:{value: Dayjs, type: string, onChange: f(), onTypeChange: f()})-
                                                                                locale国际化配置object(默认配置)
                                                                                mode初始模式month | yearmonth
                                                                                monthCellRender自定义渲染月单元格,返回内容会被追加到单元格,>= 5.4.0 请用 cellRenderfunction(date: Dayjs): ReactNode-< 5.4.0
                                                                                monthFullCellRender自定义渲染月单元格,返回内容覆盖单元格,>= 5.4.0 请用 fullCellRenderfunction(date: Dayjs): ReactNode-< 5.4.0
                                                                                validRange设置可以显示的日期[dayjs, dayjs]-
                                                                                value展示日期dayjs-
                                                                                onChange日期变化回调function(date: Dayjs)-
                                                                                onPanelChange日期面板变化回调function(date: Dayjs, mode: string)-
                                                                                onSelect选择日期回调,包含来源信息function(date: Dayjs, info: { source: 'year' | 'month' | 'date' | 'customize' })-info: 5.6.0

                                                                                主题变量(Design Token)

                                                                                组件 Token如何定制?

                                                                                Token 名称描述类型默认值
                                                                                fullBg完整日历背景色string#ffffff
                                                                                fullPanelBg完整日历面板背景色string#ffffff
                                                                                itemActiveBg日期项选中背景色string#e6f4ff
                                                                                miniContentHeight迷你日历内容高度string | number256
                                                                                monthControlWidth月选择器宽度string | number70
                                                                                yearControlWidth年选择器宽度string | number80

                                                                                全局 Token如何定制?

                                                                                FAQ

                                                                                如何在 Calendar 中使用自定义日期库

                                                                                参考 使用自定义日期库。

                                                                                如何给日期类组件配置国际化?

                                                                                参考 如何给日期类组件配置国际化。

                                                                                为什么时间类组件的国际化 locale 设置不生效?

                                                                                参考 FAQ 为什么时间类组件的国际化 locale 设置不生效?。

                                                                                如何仅获取来自面板点击的日期?

                                                                                onSelect 事件提供额外的来源信息,你可以通过 info.source 来判断来源:

                                                                                <Calendar
                                                                                onSelect={(date, { source }) => {
                                                                                if (source === 'date') {
                                                                                console.log('Panel Select:', source);
                                                                                }
                                                                                }}
                                                                                />