ant-design-vue/components/calendar/demo/notice-calendar.md

91 lines
2.4 KiB
Markdown
Raw Normal View History

2018-03-14 14:00:43 +00:00
<cn>
#### 通知事项日历
2018-03-13 14:40:13 +00:00
一个复杂的应用示例,用 `dateCellRender``monthCellRender` 函数来自定义需要渲染的数据。
2018-03-14 14:00:43 +00:00
</cn>
2018-03-13 14:40:13 +00:00
2018-03-14 14:00:43 +00:00
<us>
#### Notice Calendar
2018-03-13 14:40:13 +00:00
This component can be rendered by using `dateCellRender` and `monthCellRender` with the data you need.
2018-03-14 14:00:43 +00:00
</us>
2018-03-13 14:40:13 +00:00
2019-10-09 10:32:23 +00:00
```tpl
2018-03-14 14:00:43 +00:00
<template>
<a-calendar>
<ul class="events" slot="dateCellRender" slot-scope="value">
<li v-for="item in getListData(value)" :key="item.content">
<a-badge :status="item.type" :text="item.content" />
</li>
2018-03-13 14:40:13 +00:00
</ul>
2018-03-14 14:00:43 +00:00
<template slot="monthCellRender" slot-scope="value">
<div v-if="getMonthData(value)" class="notes-month">
<section>{{getMonthData(value)}}</section>
<span>Backlog number</span>
</div>
</template>
</a-calendar>
</template>
<script>
2019-09-28 12:45:07 +00:00
export default {
methods: {
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 || [];
},
2018-03-13 14:40:13 +00:00
2019-09-28 12:45:07 +00:00
getMonthData(value) {
if (value.month() === 8) {
return 1394;
}
},
2018-03-14 14:00:43 +00:00
},
2019-09-28 12:45:07 +00:00
};
2018-03-14 14:00:43 +00:00
</script>
<style scoped>
2019-09-28 12:45:07 +00:00
.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;
}
2018-03-14 14:00:43 +00:00
</style>
```