Date Picker

用于通过类似字段的按钮打开日历,以紧凑方式选择日期。

预览

截止日期与重置

选择或清除受限范围内的截止日期,恢复初始值,并比较禁用状态。

正在加载预览。

安装

首次使用此 Registry?请先完成 基础配置与共享样式安装 。

npx shadcn@latest add @neumorphism-ui/date-picker

先安装一次共享 base,然后使用 CLI 添加组件及其依赖。

截止日期与重置

npx shadcn@latest add @neumorphism-ui/date-picker @neumorphism-ui/button
Registry JSON

用法

提供标签、value 与 onValueChange。设置本地化文案、日期约束及帮助文字,并在应用中定义清空和表单重置行为。

"use client";

import { useState } from "react";
import { DatePicker } from "@/components/ui/date-picker";

export default function Example() {
  const [date, setDate] = useState<Date | undefined>();
  return <DatePicker label="Due date" name="dueDate" value={date} onValueChange={setDate} />;
}

API 参考

由父组件管理选择值。设置 name 后,以本地 YYYY-MM-DD 提交隐藏字段,避免 UTC 转换改变日期。重置也由父状态处理。

组件属性类型默认值说明
DatePickervalue / onValueChangeDate | undefined / callback—当前日期和更改回调,空值为undefined。
DatePickerlabel / name / describedBystring—按钮名称、表单字段名和说明元素ID。
DatePickerdisabledDates / startMonth / endMonthMatcher | Matcher[] / Date—禁用日期及月份导航范围。

无障碍

  • 01

    打开时聚焦日历,关闭时恢复触发器焦点。

  • 02

    在父表单验证必填值,使用invalid和describedBy关联错误。