API 参考

<Calendar> 组件的全部属性、回调与导出类型。

数据属性

属性类型默认值说明
events bindableCalendarEvent[][]事件列表;编辑结果会写回。
date bindableDatenew Date()聚焦日期。
view bindableCalendarView'month'当前视图。
sourcesCalendarSource[][]日历分组:颜色、可见性、可编辑性。
resourcesResource[][]资源视图的列;事件通过 resourceId 关联。
timeZonestring本地IANA 显示时区;编辑结果自动换算回真实时刻。
validRange{ start?, end? }范围外的日期只读且不可导航。
eventOverlapbooleantruefalse 时拒绝时间冲突的拖放/新建(定时事件)。

显示属性

属性类型默认值说明
localestring'en'BCP-47 标签;决定所有格式与内置文案。
messagesPartial<CalendarMessages>覆盖界面文案。
firstDayOfWeek0–6由 locale 推断0 = 周日。
weekendsbooleantrue显示周六/周日列。
weekNumbersbooleanfalseISO 周数。
fixedWeeksbooleanfalse月视图恒定 6 行。
dayMaxEventsnumber4月视图每格行数(含“还有 N 项”)。
viewsCalendarView[]全部五种工具栏视图按钮。
headerbooleantrue渲染内置工具栏。
theme'light' | 'dark' | 'auto''light'配色方案。
agendaDaysnumber30议程视图天数。
hour12boolean由 locale 推断时制。
classstring附加到根节点的类名。

时间网格属性

属性类型默认值
dayStartHour / dayEndHournumber0 / 24
slotDuration / snapDurationnumber (分钟)30 / 15
hourHeightnumber (px)48
scrollToHournumber7
businessHoursboolean | BusinessHoursnull
nowIndicatorbooleantrue

交互属性与回调

属性类型说明
editableboolean启用拖动与调整。
selectableboolean启用拖选。
eventDetailsboolean = true点击日程时的内置详情弹层(设置 onEventClick 时让位)。
quickCreateboolean = true点击/框选空白时的内置快速新建弹层(需 selectable 或 editable;设置 onSelect/onDateClick 时让位)。
onEventClick(instance, e) => void事件被点击。
onDateClick(date, allDay) => void空白格被点击。
onSelect(sel: RangeSelection) => void拖选完成。
onEventChange(info: EventChangeInfo) => void拖拽落地;info.revert() 可回滚。
onEventCreate(event) => void快速新建向绑定数组添加了日程。
onEventDelete(event, occurrence?) => void日程被删除;仅删系列中某一次时携带 occurrence。
onSeriesDetach({ series, detached, occurrence }) => void“仅此日程”:某次被拆分为独立日程。
onSeriesSplit({ truncated, created, occurrence }) => void“此次及以后”:系列在该次处被拆分。
onRangeChange(start, end) => void可见范围变化(含首次挂载)——适合按需拉取数据。
onViewChange(view) => void视图切换。
onDateChange(date) => void聚焦日期变化。
eventContentSnippet<[EventInstance]>自定义事件内容。
toolbarEndSnippet工具栏附加内容。

导出类型

CalendarEvent · CalendarSource · CalendarView · EventInstance · EventChangeInfo · RangeSelection · RecurrenceRule · BusinessHours · CalendarMessages · PaletteColor · Weekday

导出工具函数

导出说明
MiniCalendar独立迷你月历组件。
parseRRule / expandRecurrence重复规则解析与展开。
detachOccurrence / excludeOccurrence / splitSeries系列编辑纯函数(“仅此日程”/“此次及以后”)。
parseICS / toICSiCalendar(.ics)导入与导出。
serializeRRuleRecurrenceRule → RRULE 字符串。
toZoned / fromZoned显示时区换算辅助函数。
expandEvents事件 → 区间内的具体实例。
layoutDay / layoutWeekRow纯函数布局算法。
en / zhCN / messagesForLocale / localeFirstDay国际化辅助。
addDays, startOfWeek, monthGrid, …零依赖日期工具。