2016-03-31 09:40:55 +08:00
|
|
|
---
|
|
|
|
order: 2
|
2016-05-22 11:03:07 +08:00
|
|
|
title:
|
|
|
|
zh-CN: 通知事项日历演示
|
|
|
|
en-US: A demo of Notice Calendar
|
2016-03-31 09:40:55 +08:00
|
|
|
---
|
2015-11-13 22:34:49 +08:00
|
|
|
|
2016-05-22 11:03:07 +08:00
|
|
|
## zh-CN
|
|
|
|
|
|
|
|
一个复杂的应用示例。
|
|
|
|
|
2016-08-15 11:23:19 +08:00
|
|
|
## en-US
|
2016-05-22 11:03:07 +08:00
|
|
|
|
|
|
|
A complex application.
|
2015-11-13 22:34:49 +08:00
|
|
|
|
|
|
|
````jsx
|
|
|
|
import { Calendar } from 'antd';
|
|
|
|
|
|
|
|
function getListData(value) {
|
2015-11-25 17:35:49 +08:00
|
|
|
let listData;
|
2016-09-09 13:55:21 +08:00
|
|
|
switch (value.date()) {
|
2016-01-08 14:41:05 +08:00
|
|
|
case 8:
|
|
|
|
listData = [
|
2016-03-28 14:38:25 +08:00
|
|
|
{ type: 'warning', content: '这里是警告事项.' },
|
2016-05-11 09:32:33 +08:00
|
|
|
{ type: 'normal', content: '这里是普通事项.' },
|
2016-01-08 14:41:05 +08:00
|
|
|
]; break;
|
|
|
|
case 10:
|
|
|
|
listData = [
|
2016-03-28 14:38:25 +08:00
|
|
|
{ type: 'warning', content: '这里是警告事项.' },
|
2016-01-08 14:41:05 +08:00
|
|
|
{ type: 'normal', content: '这里是普通事项.' },
|
2016-05-11 09:32:33 +08:00
|
|
|
{ type: 'error', content: '这里是错误事项.' },
|
2016-01-08 14:41:05 +08:00
|
|
|
]; break;
|
|
|
|
case 15:
|
|
|
|
listData = [
|
2016-03-28 14:38:25 +08:00
|
|
|
{ type: 'warning', content: '这里是警告事项.' },
|
2016-01-08 14:41:05 +08:00
|
|
|
{ type: 'normal', content: '这里是普通事项好长啊。。....' },
|
|
|
|
{ type: 'error', content: '这里是错误事项.' },
|
|
|
|
{ type: 'error', content: '这里是错误事项.' },
|
|
|
|
{ type: 'error', content: '这里是错误事项.' },
|
2016-05-11 09:32:33 +08:00
|
|
|
{ type: 'error', content: '这里是错误事项.' },
|
2016-01-08 14:41:05 +08:00
|
|
|
]; break;
|
|
|
|
default:
|
2015-11-13 22:34:49 +08:00
|
|
|
}
|
|
|
|
return listData || [];
|
|
|
|
}
|
|
|
|
|
|
|
|
function dateCellRender(value) {
|
2016-07-21 18:05:15 +08:00
|
|
|
const listData = getListData(value);
|
2016-01-07 16:29:12 +08:00
|
|
|
return (
|
|
|
|
<ul className="events">
|
|
|
|
{
|
|
|
|
listData.map((item, index) =>
|
|
|
|
<li key={index}>
|
|
|
|
<span className={`event-${item.type}`}>●</span>
|
|
|
|
{item.content}
|
|
|
|
</li>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
</ul>
|
|
|
|
);
|
2015-11-13 22:34:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
function getMonthData(value) {
|
2016-09-09 13:55:21 +08:00
|
|
|
if (value.month() === 8) {
|
2015-11-13 22:34:49 +08:00
|
|
|
return 1394;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function monthCellRender(value) {
|
2016-08-28 17:47:06 +08:00
|
|
|
const num = getMonthData(value);
|
2015-11-13 22:34:49 +08:00
|
|
|
return num ? <div className="notes-month">
|
|
|
|
<section>{num}</section>
|
|
|
|
<span>待办事项数</span>
|
|
|
|
</div> : null;
|
|
|
|
}
|
|
|
|
|
|
|
|
ReactDOM.render(
|
|
|
|
<Calendar dateCellRender={dateCellRender} monthCellRender={monthCellRender} />
|
2015-12-29 12:08:58 +08:00
|
|
|
, mountNode);
|
2015-11-13 22:34:49 +08:00
|
|
|
````
|
|
|
|
|
|
|
|
````css
|
|
|
|
.events {
|
|
|
|
line-height: 24px;
|
|
|
|
list-style: none;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
.events li {
|
|
|
|
color: #999;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
|
|
|
|
|
|
|
.events li span {
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
|
|
|
|
.events li span:first-child {
|
|
|
|
font-size: 9px;
|
|
|
|
margin-right: 4px;
|
|
|
|
}
|
|
|
|
|
2016-03-28 14:38:25 +08:00
|
|
|
.event-warning {
|
2015-11-13 22:34:49 +08:00
|
|
|
color: #fac450;
|
|
|
|
}
|
|
|
|
|
|
|
|
.event-normal {
|
|
|
|
color: #2db7f5;
|
|
|
|
}
|
|
|
|
|
|
|
|
.event-error {
|
2016-03-28 14:38:25 +08:00
|
|
|
color: #f50;
|
2015-11-13 22:34:49 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
.notes-month {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
.notes-month section {
|
|
|
|
font-size: 28px;
|
|
|
|
}
|
|
|
|
````
|