HammerHammer

日程

支持月/周/日视图与事件编辑的日程日历组件。

Open in v0

最后更新:2026/02/01 17:40:35

Open preview in new tab

安装

npm install @chaos-design/calendar

使用方式

import "@chaos-design/calendar/dist/es/index.css";
import { Calendar } from "@chaos-design/calendar";

const initialDate = new Date();

export default function Demo() {
  return (
    <Calendar
      initialDate={initialDate}
      locale="zh"
      defaultView="month"
      events={[
        {
          id: "1",
          title: "每日站会",
          start: new Date(2026, 0, 31, 10, 0),
          end: new Date(2026, 0, 31, 10, 30),
          color: "bg-red-600",
          allDay: true,
        },
      ]}
    />
  );
}

在 shadcn/ui 中使用

  1. 安装依赖
npm install @chaos-design/calendar
  1. 在全局样式中引入日历样式
@import "@chaos-design/calendar/dist/es/index.css";
  1. 在组件中使用
import { Calendar } from "@chaos-design/calendar";

export default function Demo() {
  return <Calendar defaultView="month" locale="zh" />;
}

Props

属性类型默认值说明
eventsCalendarEvent[]-受控事件列表。
defaultEventsCalendarEvent[]-非受控初始事件列表。
defaultView"month" | "week" | "day""month"初始视图。
weekStart"sunday" | "monday""monday"一周起始日。
initialDateDatenew Date()初始聚焦日期。
onEventCreate(event: CalendarEvent) => void-新建事件回调。
onEventUpdate(event: CalendarEvent) => void-更新事件回调。
onEventDelete(id: string) => void-删除事件回调。
theme"light" | "dark""light"主题模式。
onThemeToggle(next: "light" | "dark") => void-主题切换回调。
categoriesCalendarCategory[]DEFAULT_CATEGORIES分类列表。
locale"en" | "zh""en"语言。
onLocaleChange(next: "en" | "zh") => void-语言切换回调。
themeConfigThemeConfigDEFAULT_THEME主题配置覆盖。

On this page