Files
shadcn-ui/apps/v4/examples/base/select-multiple.tsx
2026-01-14 09:25:14 +04:00

47 lines
1.2 KiB
TypeScript

import {
Select,
SelectContent,
SelectGroup,
SelectItem,
SelectTrigger,
SelectValue,
} from "@/examples/base/ui/select"
export function SelectMultiple() {
const items = [
{ label: "Apple", value: "apple" },
{ label: "Banana", value: "banana" },
{ label: "Blueberry", value: "blueberry" },
{ label: "Grapes", value: "grapes" },
{ label: "Pineapple", value: "pineapple" },
{ label: "Strawberry", value: "strawberry" },
{ label: "Watermelon", value: "watermelon" },
]
return (
<Select items={items} multiple defaultValue={[]}>
<SelectTrigger className="w-72">
<SelectValue>
{(value: string[]) => {
if (value.length === 0) {
return "Select fruits"
}
if (value.length === 1) {
return items.find((item) => item.value === value[0])?.label
}
return `${value.length} fruits selected`
}}
</SelectValue>
</SelectTrigger>
<SelectContent>
<SelectGroup>
{items.map((item) => (
<SelectItem key={item.value} value={item.value}>
{item.label}
</SelectItem>
))}
</SelectGroup>
</SelectContent>
</Select>
)
}