展示类 · Calendar
日历
日历组件,允许以日/周/月视图展示对应事件
代码演示
如何引入
日视图
日视图的日历模板,可通过
showCurrTime 控制是否显示当前时间的位置红线。周视图
周视图的日历模板,可通过
showCurrTime 控制是否显示当前时间的位置红线。月视图
月视图的日历模板。
设置周起始日
可以通过 weekStartsOn 设置周几作为每周第一天,0 代表周日,1 代表周一,以此类推。默认为周日。weekStartsOn 自 v2.18 起提供,对月视图、周视图生效。
多日视图
>=1.5.0
多日视图模式。
多日视图模式。
range 必传,左闭右开。事件渲染用法
通过
events 传入需要渲染的事件,events 是一个由 event objects 组成的数组,具体形式请参考 events API。自定义渲染
通过 dateGridRender 可以自定义渲染日期单元格/列。需要使用绝对定位。
自定义渲染事件
自定义渲染单元格样式
可以通过 dateGridRender 自定义单元格的背景,月视图的文字 zIndex 默认为 3,如需完全覆盖单元格可以设置更大的 zIndex 来实现。
自定义日期文案
可以通过 renderDateDisplay 自定义日期文案。
API 参考
Calendar
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| dateGridRender | 自定义单元格/列渲染,需要绝对定位, v>=1.0.0 | function(dateString: string, date: Date) | - |
| allDayEventsRender | 自定义日/多日/周视图下的顶部事件渲染 | function(events: EventObject[]): ReactNode | - |
| displayValue | 展示日期 | Date | 当前日期 |
| events | 渲染事件,具体格式请参考 event object | EventObject[] | - |
| header | 自定义头部内容 | ReactNode | - |
| height | 日历高度 | string|number | 600 |
| markWeekend | 区分周末列和工作日,以灰色显示 | boolean | false |
| minEventHeight | 日视图、多日视图以及周视图下事件的最小高度(>=2.49.0) | number | Number.MIN_SAFE_INTEGER |
| mode | 初始模式,day, week, month, range(>=1.5.0) | "day" | "week" | "month" | "range" | week |
| onClick | 单击日期格的回调,日视图和周视图以半小时为单位,月视图以日为单位 | function(e: Event, date: Date) | - |
| onClose | 月视图下,展示所有 event 的卡片关闭时的回调 | function(e: Event) | - |
| range | 多日视图模式下展示的日期范围,左闭右开 v>=1.5.0 | Date[] | - |
| renderTimeDisplay | 自定义日/周视图下的时间文案 | function(time: number): ReactNode | - |
| renderDateDisplay | 自定义日期文案 | function(date: Date): ReactNode | - |
| scrollTop | 日视图和周视图模式下,设置展示内容默认的滚动高度 | number | 400 |
| showCurrTime | 显示当前时间 | boolean | true |
| width | 日历宽度 | string|number | - |
| weekStartsOn | 以周几作为每周第一天,0 代表周日,1 代表周一,以此类推。v2.18后支持 | number | 0 |
Event Object
events 是一个 event object 组成的数组,event object 约定格式如下:当事件为全天事件时,若没有传入起始结束时间,则自动追加到
displayValue 的日期中;当事件不是全天事件时,起始结束时间至少传入一个才会被视为有效事件注意
不同 event 的 key 值要求必填且唯一,以此控制事件的更新与重绘。
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| allDay | 全天事件 | boolean | false |
| children | 展示日期 | React.node | - |
| end | 事情结束的时间 | Date | - |
| key | required 且要求唯一, v>=1.0.0 | string | - |
| start | 事情起始的时间 | Date | - |