Calendar
用于需要在页面中持续显示的日期或范围选择。
预览
单日与日期范围
比较受控的单日和范围日历,查看选择值并清除范围。
正在加载预览。
安装
首次使用此 Registry?请先完成 基础配置与共享样式安装 。
npx shadcn@latest add @neumorphism-ui/calendar先安装一次共享 base,然后使用 CLI 添加组件及其依赖。
单日与日期范围
npx shadcn@latest add @neumorphism-ui/calendar @neumorphism-ui/button用法
选择模式,连接 selected 与 onSelect,并传入日期 locale。根据预约或日程规则设置禁选日期与月份边界。
"use client";
import { useState } from "react";
import { Calendar } from "@/components/ui/calendar";
export default function Example() {
const [date, setDate] = useState<Date | undefined>();
return <Calendar mode="single" selected={date} onSelect={setDate} />;
}API 参考
使用 DayPicker v10 的日期计算和键盘导航。选中端点使用内凹效果,范围内部使用连续表面。
| 组件 | 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|---|
Calendar | mode | "single" | "multiple" | "range" | — | 指定选择模式。 |
Calendar | selected / onSelect | Date | Date[] | DateRange / callback | — | 连接选中值及更改回调。 |
Calendar | disabled / locale / startMonth / endMonth | DayPickerProps | — | 设置禁用日期、语言及可导航月份。 |
无障碍
- 01
用方向键移动,用 Enter 或 Space 选择。
- 02
保留起止日期、今天和禁用日期的无障碍标签。