mirror of
https://github.com/shadcn-ui/ui.git
synced 2026-06-24 13:15:45 +00:00
47 lines
1.2 KiB
TypeScript
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>
|
|
)
|
|
}
|