UNPKG

cjd-parkball

Version:

> 中后台业务组件库,中后台就像公园,进入需要买门票(登录),所以以 Parkball(公园球) 命名,公园内必定捕获!作为一个组件库,提供使用方法文档,方便开发者的调用

103 lines (91 loc) 2.35 kB
--- category: 2 title: 通知事项日历 title_en: 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 'parkball'; 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 ( <ul className="events"> { listData.map(item => ( <li key={item.content}> <Badge status={item.type} text={item.content} /> </li> )) } </ul> ); } function getMonthData(value) { if (value.month() === 8) { return 1394; } } function monthCellRender(value) { const num = getMonthData(value); return num ? ( <div className="notes-month"> <section>{num}</section> <span>Backlog number</span> </div> ) : null; } ReactDOM.render( <Calendar dateCellRender={dateCellRender} monthCellRender={monthCellRender} />, 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; } ````