Components
import {
Select,
SelectContent,安装
pnpm dlx shadcn@latest add select
用法
import {
Select,
SelectContent,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/components/ui/select"<Select>
<SelectTrigger className="w-[180px]">
<SelectValue placeholder="主题" />
</SelectTrigger>
<SelectContent>
<SelectItem value="light">浅色</SelectItem>
<SelectItem value="dark">深色</SelectItem>
<SelectItem value="system">系统</SelectItem>
</SelectContent>
</Select>示例
让选项与触发器对齐
在 SelectContent 中使用 alignItemWithTrigger 来控制选中的项是否与触发器对齐。当设置为 true(默认值)时,弹出框的位置使选中的项覆盖在触发器上方。当为 false 时,弹出框与触发器边缘对齐。
Toggle to align the item with the trigger.
"use client"
import * as React from "react"分组
使用 SelectGroup、SelectLabel 和 SelectSeparator 来组织选项。
import {
Select,
SelectContent,可滚动
一个包含大量选项且可滚动的选择框。
import {
Select,
SelectContent,禁用状态
import {
Select,
SelectContent,无效状态
给 Field 组件添加 data-invalid 属性,给 SelectTrigger 组件添加 aria-invalid 属性,以显示错误状态。
<Field data-invalid>
<FieldLabel>水果</FieldLabel>
<SelectTrigger aria-invalid>
<SelectValue />
</SelectTrigger>
</Field>Please select a fruit.
import { Field, FieldError, FieldLabel } from "@/components/ui/field"
import {
Select,API 参考
请查看Base UI Select文档。