import React from 'react'; import type { BadgeProps } from 'antd'; import { Badge, Calendar } from 'antd'; import type { Dayjs } from 'dayjs'; import type { CellRenderInfo } from 'rc-picker/lib/interface'; const getListData = (value: Dayjs) => { 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: Dayjs) => { if (value.month() === 8) { return 1394; } }; const App: React.FC = () => { const monthCellRender = (value: Dayjs) => { const num = getMonthData(value); return num ? (
{num}
Backlog number
) : null; }; const dateCellRender = (value: Dayjs) => { const listData = getListData(value); return ( ); }; const cellRender = (current: Dayjs, info: CellRenderInfo) => { if (info.type === 'date') return dateCellRender(current); if (info.type === 'month') return monthCellRender(current); return info.originNode; }; return ; }; export default App;