Skip to main content

日历 Calendar

封装自 react-day-picker 的日历组件,集成了自定义样式和按钮风格,适用于选择日期、范围等功能。


📦 引入方式

import { Calendar } from '@npmqg/react-ui-calendar';

🧩 使用示例

📚 基本用法

SuMoTuWeThFrSa

📆 设置默认日期

SuMoTuWeThFrSa

🗓️ 日期范围选择

SuMoTuWeThFrSa

📅 限制可选日期

SuMoTuWeThFrSa

🌐 国际化


🧩 Props

属性类型默认值说明
selected`Dateundefined`当前选择的日期
onDayClick(date: Date) => void点击日期时的回调函数
onMonthChange(month: Date) => void切换月份时的回调函数
disabledbooleanfalse是否禁用日期选择器
onDateChange(date: Date) => void日期变化时的回调函数
onFocus(date: Date) => void聚焦日期选择器时触发的回调函数
classNamestring自定义类名,用于扩展组件样式
localestring'en'本地化语言设置
firstDayOfWeeknumber0设置一周的第一天(0: Sunday, 1: Monday)
disabledDays`DateDate[](date: Date) => boolean`禁用某些特定的日期
weekStartsOnnumber0设置一周的开始(0: Sunday, 1: Monday)

🎨 样式说明

该组件使用了 TailwindCSS 样式,并集成了 Button 组件的 variant: link 风格,使日历按钮与项目样式一致。

部分样式类说明
导航按钮使用 ChevronLeft / ChevronRight,并继承 Button 的 link 样式
日期单元格hover / selected 状态下有 accent / primary 的样式区分
范围选择支持高亮起始与结束日期,并自动圆角
禁用 / 今天 / 外部天有特殊状态样式,例如 text-muted-foreground, bg-accent

💡 小贴士

  • 所有 DayPicker 支持的 props 都可以传入 Calendar
  • showOutsideDays 默认启用,可显示前后月份日期。