--- title: Select description: Displays a list of options for the user to pick from—triggered by a button. base: radix component: true featured: true links: doc: https://www.radix-ui.com/docs/primitives/components/select api: https://www.radix-ui.com/docs/primitives/components/select#api-reference --- ## Installation Command Manual ```bash npx shadcn@latest add select ``` Install the following dependencies: ```bash npm install radix-ui ``` Copy and paste the following code into your project. Update the import paths to match your project setup. ## Usage ```tsx showLineNumbers import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" ``` ```tsx showLineNumbers ``` ## Examples ### Align Item With Trigger Use the `position` prop on `SelectContent` to control alignment. When `position="item-aligned"` (default), the popup positions so the selected item appears over the trigger. When `position="popper"`, the popup aligns to the trigger edge. ### Groups Use `SelectGroup`, `SelectLabel`, and `SelectSeparator` to organize items. ### Scrollable A select with many items that scrolls. ### Disabled ### Invalid Add the `data-invalid` attribute to the `Field` component and the `aria-invalid` attribute to the `SelectTrigger` component to show an error state. ```tsx showLineNumbers /data-invalid/ /aria-invalid/ Fruit ``` ## RTL To enable RTL support in shadcn/ui, see the [RTL configuration guide](/docs/rtl). ## API Reference See the [Radix UI Select](https://www.radix-ui.com/docs/primitives/components/select#api-reference) documentation.