Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Avatar
- Badge
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Chart
- Checkbox
- Collapsible
- Combobox
- Command
- Context Menu
- Data Table
- Date Picker
- Dialog
- Direction
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Native Select
- Navigation Menu
- Pagination
- Popover
- Progress
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Tooltip
- Typography
Get Started
"use client"
import * as React from "react"安装
Date Picker 由 <Popover /> 和 <Calendar /> 组件组合构成。
请参见 Popover 和 Calendar 组件的安装说明。
使用
"use client"
import * as React from "react"
import { format } from "date-fns"
import { Calendar as CalendarIcon } from "lucide-react"
import { cn } from "@/lib/utils"
import { Button } from "@/components/ui/button"
import { Calendar } from "@/components/ui/calendar"
import {
Popover,
PopoverContent,
PopoverTrigger,
} from "@/components/ui/popover"
export function DatePickerDemo() {
const [date, setDate] = React.useState<Date>()
return (
<Popover>
<PopoverTrigger asChild>
<Button
variant="outline"
data-empty={!date}
className="w-[280px] justify-start text-left font-normal data-[empty=true]:text-muted-foreground"
>
<CalendarIcon />
{date ? format(date, "PPP") : <span>Pick a date</span>}
</Button>
</PopoverTrigger>
<PopoverContent className="w-auto p-0">
<Calendar mode="single" selected={date} onSelect={setDate} />
</PopoverContent>
</Popover>
)
}更多信息请参见 React DayPicker 文档。
示例
基础
一个基础日期选择器组件。
"use client"
import * as React from "react"范围选择器
用于选择日期范围的日期选择器组件。
"use client"
import * as React from "react"出生日期
用于选择出生日期的日期选择器组件。该组件包含一个用于选择日期和月份的下拉标题布局。
"use client"
import * as React from "react"输入框
一个带输入框的日期选择器组件,用于选择日期。
"use client"
import * as React from "react"时间选择器
一个带时间输入框的日期选择器组件,用于选择时间。
"use client"
import * as React from "react"自然语言选择器
该组件使用 chrono-node 库来解析自然语言日期。
Your post will be published on March 28, 2026.
"use client"
import * as React from "react"RTL
要在 shadcn/ui 中启用 RTL 支持,请参见 RTL 配置指南。
"use client"
import * as React from "react"