--- order: 1 title: zh-CN: 通知事项日历 en-US: Notice Calendar --- ## zh-CN 一个复杂的应用示例,用 `dateCellRender` 和 `monthCellRender` 函数来自定义需要渲染的数据。 ## en-US This component can be rendered by using `dateCellRender` and `monthCellRender` with the data you need. ```tsx import type { BadgeProps } from 'antd'; import { Badge, Calendar } from 'antd'; import type { Moment } from 'moment'; import React from 'react'; const getListData = (value: Moment) => { let listData; switch (value.date()) { case 8: listData = [ { type: 'warning', content: 'This is warning event.' }, { type: 'success', content: 'This is usual event.' }, ]; break; case 10: listData = [ { type: 'warning', content: 'This is warning event.' }, { type: 'success', content: 'This is usual event.' }, { type: 'error', content: 'This is error event.' }, ]; break; case 15: listData = [ { type: 'warning', content: 'This is warning event' }, { type: 'success', content: 'This is very long usual event。。....' }, { type: 'error', content: 'This is error event 1.' }, { type: 'error', content: 'This is error event 2.' }, { type: 'error', content: 'This is error event 3.' }, { type: 'error', content: 'This is error event 4.' }, ]; break; default: } return listData || []; }; const getMonthData = (value: Moment) => { if (value.month() === 8) { return 1394; } }; const App: React.FC = () => { const monthCellRender = (value: Moment) => { const num = getMonthData(value); return num ? (
{num}
Backlog number
) : null; }; const dateCellRender = (value: Moment) => { const listData = getListData(value); return ( ); }; return ; }; export default App; ``` ```css .events { margin: 0; padding: 0; list-style: none; } .events .ant-badge-status { width: 100%; overflow: hidden; font-size: 12px; white-space: nowrap; text-overflow: ellipsis; } .notes-month { font-size: 28px; text-align: center; } .notes-month section { font-size: 28px; } ```