<script lang="ts">
import * as Select from "$lib/components/ui/select/index.js";
const fruits = [
{ value: "apple", label: "사과" },
{ value: "banana", label: "바나나" },
{ value: "blueberry", label: "블루베리" },
{ value: "grapes", label: "포도" },
{ value: "pineapple", label: "파인애플" }
];
let value = $state("");
const triggerContent = $derived(
fruits.find((f) => f.value === value)?.label ?? "과일을 선택하세요"
);
</script>
<Select.Root type="single" name="favoriteFruit" bind:value>
<Select.Trigger class="w-[180px]">
{triggerContent}
</Select.Trigger>
<Select.Content>
<Select.Group>
<Select.Label>과일</Select.Label>
{#each fruits as fruit (fruit.value)}
<Select.Item
value={fruit.value}
label={fruit.label}
disabled={fruit.value === "grapes"}
>
{fruit.label}
</Select.Item>
{/each}
</Select.Group>
</Select.Content>
</Select.Root> 설치
bits-ui를 설치합니다:
다음 코드를 복사하여 프로젝트에 붙여넣습니다.
사용법
<script lang="ts">
import * as Select from "$lib/components/ui/select/index.js";
</script> <Select.Root type="single">
<Select.Trigger class="w-[180px]"></Select.Trigger>
<Select.Content>
<Select.Item value="light">라이트</Select.Item>
<Select.Item value="dark">다크</Select.Item>
<Select.Item value="system">시스템</Select.Item>
</Select.Content>
</Select.Root> 예제
스크롤 가능
<script lang="ts">
import * as Select from "$lib/components/ui/select/index.js";
</script>
<Select.Root type="single">
<Select.Trigger class="w-[280px]">시간대를 선택하세요</Select.Trigger>
<Select.Content>
<Select.Group>
<Select.Label>북미</Select.Label>
<Select.Item value="est">Eastern Standard Time (EST)</Select.Item>
<Select.Item value="cst">Central Standard Time (CST)</Select.Item>
<Select.Item value="mst">Mountain Standard Time (MST)</Select.Item>
<Select.Item value="pst">Pacific Standard Time (PST)</Select.Item>
<Select.Item value="akst">Alaska Standard Time (AKST)</Select.Item>
<Select.Item value="hst">Hawaii Standard Time (HST)</Select.Item>
</Select.Group>
<Select.Group>
<Select.Label>유럽 및 아프리카</Select.Label>
<Select.Item value="gmt">Greenwich Mean Time (GMT)</Select.Item>
<Select.Item value="cet">Central European Time (CET)</Select.Item>
<Select.Item value="eet">Eastern European Time (EET)</Select.Item>
<Select.Item value="west">Western European Summer Time (WEST)</Select.Item
>
<Select.Item value="cat">Central Africa Time (CAT)</Select.Item>
<Select.Item value="eat">East Africa Time (EAT)</Select.Item>
</Select.Group>
<Select.Group>
<Select.Label>아시아</Select.Label>
<Select.Item value="msk">Moscow Time (MSK)</Select.Item>
<Select.Item value="ist">India Standard Time (IST)</Select.Item>
<Select.Item value="cst_china">China Standard Time (CST)</Select.Item>
<Select.Item value="jst">Japan Standard Time (JST)</Select.Item>
<Select.Item value="kst">Korea Standard Time (KST)</Select.Item>
<Select.Item value="ist_indonesia"
>Indonesia Central Standard Time (WITA)</Select.Item
>
</Select.Group>
<Select.Group>
<Select.Label>호주 및 태평양</Select.Label>
<Select.Item value="awst"
>Australian Western Standard Time (AWST)</Select.Item
>
<Select.Item value="acst"
>Australian Central Standard Time (ACST)</Select.Item
>
<Select.Item value="aest"
>Australian Eastern Standard Time (AEST)</Select.Item
>
<Select.Item value="nzst">New Zealand Standard Time (NZST)</Select.Item>
<Select.Item value="fjt">Fiji Time (FJT)</Select.Item>
</Select.Group>
<Select.Group>
<Select.Label>남미</Select.Label>
<Select.Item value="art">Argentina Time (ART)</Select.Item>
<Select.Item value="bot">Bolivia Time (BOT)</Select.Item>
<Select.Item value="brt">Brasilia Time (BRT)</Select.Item>
<Select.Item value="clt">Chile Standard Time (CLT)</Select.Item>
</Select.Group>
</Select.Content>
</Select.Root>