--- 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. ```jsx import { Calendar, Badge } from 'antd'; function getListData(value) { 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 || []; } function dateCellRender(value) { const listData = getListData(value); return ( ); } function getMonthData(value) { if (value.month() === 8) { return 1394; } } function monthCellRender(value) { const num = getMonthData(value); return num ? (
{num}
Backlog number
) : null; } ReactDOM.render( , mountNode, ); ``` ```css .events { list-style: none; margin: 0; padding: 0; } .events .ant-badge-status { overflow: hidden; white-space: nowrap; width: 100%; text-overflow: ellipsis; font-size: 12px; } .notes-month { text-align: center; font-size: 28px; } .notes-month section { font-size: 28px; } ```