kliping.pro
  • Docs
  • Explore
  • Builder
  • Directory
  • Colors
  • Typeset
Saved
Docs
  • Sections13
  • Installation5
  • Dark Mode4
  • Forms3
  • Registry6
  • Utilities2
  • More10
  • Components137
  • Accordion
  • Action Bar
  • AI Chat
  • AI Thread List
  • Alert
  • Alert Dialog
  • Angle Slider
  • Animated Grid Pattern
  • Aspect Ratio
  • Attachment
  • Avatar
  • Avatar Group
  • Badge
  • Badge Overflow
  • Banner
  • Border Beam
  • Breadcrumb
  • Bubble
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Checkbox Group
  • Chip
  • Circular Progress
  • Client Only
  • Collapsible
  • Color Picker
  • Color Swatch
  • Combobox
  • Combobox Advanced
  • Command
  • Compare Slider
  • Composition
  • Context Menu
  • Cropper
  • Data Grid
  • Data Table
  • Data Table Advanced
  • Date Picker
  • Dialog
  • Direction Provider
  • Dot Pattern
  • Drawer
  • Dropdown Menu
  • Editable
  • Empty
  • Field
  • File Upload
  • Form
  • FPS
  • Gauge
  • Hitbox
  • Hover Card
  • Input
  • Input Group
  • Input OTP
  • Item
  • Kanban
  • Kbd
  • Kbd Advanced
  • Key Value
  • Label
  • List
  • Listbox
  • Logos
  • Map
  • Marker
  • Marquee
  • Mask Input
  • Masonry
  • Media Player
  • Mention
  • Menubar
  • Message
  • Message Scroller
  • Native Select
  • Navigation Menu
  • Number Field
  • Pagination
  • Particles
  • Pending
  • Phone Input
  • Pin Input
  • Popover
  • Portal
  • Presence
  • Progress
  • QR Code
  • Questionnaire
  • Radio Group
  • Range Calendar
  • Rating
  • Relative Time Card
  • Resizable
  • Responsive Dialog
  • Scroll Area
  • Scroll Spy
  • Scroller
  • Segmented Input
  • Select
  • Selection Toolbar
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Software Purchase Card
  • Sonner
  • Sortable
  • Speed Dial
  • Spinner
  • Stack
  • Stat
  • Status
  • Stepper
  • Stepper Advanced
  • Swap
  • Switch
  • Table
  • Tabs
  • Tags Input
  • Tags Input Advanced
  • Textarea
  • Time Picker
  • Timeline
  • Toast
  • Toggle
  • Toggle Group
  • Tooltip
  • Tour
  • Typography
  • Visually Hidden
  • Visually Hidden Input
  1. Docs
  2. Components
  3. Native Select

Native Select

PreviousNext

Elemen select bawaan HTML yang di-style agar menyatu dengan design system Anda.

Kalau Anda butuh select yang di-style penuh, lihat komponen Select.

Installation ​

pnpm dlx kliping@latest add native-select

Pasang dependensi berikut:

pnpm add reka-ui

Salin dan tempel kode sumber di GitHub ke project Anda.

Sesuaikan path import dengan struktur project Anda.

Usage ​

vue
<script setup lang="ts">
import {
  NativeSelect,
  NativeSelectOptGroup,
  NativeSelectOption,
} from '@/components/ui/native-select'
</script>

<template>
  <NativeSelect>
    <NativeSelectOption value="">
      Select a fruit
    </NativeSelectOption>
    <NativeSelectOption value="apple">
      Apple
    </NativeSelectOption>
    <NativeSelectOption value="banana">
      Banana
    </NativeSelectOption>
    <NativeSelectOption value="blueberry">
      Blueberry
    </NativeSelectOption>
    <NativeSelectOption value="grapes" disabled>
      Grapes
    </NativeSelectOption>
    <NativeSelectOption value="pineapple">
      Pineapple
    </NativeSelectOption>
  </NativeSelect>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

Examples ​

Dengan Grup ​

Kelompokkan pilihan memakai NativeSelectOptGroup agar lebih tertata.

vue
<template>
  <NativeSelect>
    <NativeSelectOption value="">
      Select a food
    </NativeSelectOption>
    <NativeSelectOptGroup label="Fruits">
      <NativeSelectOption value="apple">
        Apple
      </NativeSelectOption>
      <NativeSelectOption value="banana">
        Banana
      </NativeSelectOption>
      <NativeSelectOption value="blueberry">
        Blueberry
      </NativeSelectOption>
    </NativeSelectOptGroup>
    <NativeSelectOptGroup label="Vegetables">
      <NativeSelectOption value="carrot">
        Carrot
      </NativeSelectOption>
      <NativeSelectOption value="broccoli">
        Broccoli
      </NativeSelectOption>
      <NativeSelectOption value="spinach">
        Spinach
      </NativeSelectOption>
    </NativeSelectOptGroup>
  </NativeSelect>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

Keadaan Nonaktif ​

Nonaktifkan satu pilihan tertentu, atau seluruh komponen select sekaligus.

Keadaan Tidak Valid ​

Tampilkan kesalahan validasi lewat atribut aria-invalid beserta style error-nya.

vue
<template>
  <NativeSelect aria-invalid="true">
    <NativeSelectOption value="">
      Select a country
    </NativeSelectOption>
    <NativeSelectOption value="us">
      United States
    </NativeSelectOption>
    <NativeSelectOption value="uk">
      United Kingdom
    </NativeSelectOption>
    <NativeSelectOption value="ca">
      Canada
    </NativeSelectOption>
  </NativeSelect>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

Integrasi dengan Form ​

Bisa dipakai bersama library form seperti VeeValidate untuk komponen yang dikendalikan dari luar.

Select a country

Native Select dibanding Select ​

  • Pakai NativeSelect kalau Anda butuh perilaku asli browser, performa lebih ringan, atau dropdown yang nyaman di mobile.
  • Pakai Select kalau Anda butuh style kustom, animasi, atau interaksi yang lebih rumit.

Komponen NativeSelect menyediakan fungsi select bawaan HTML dengan tampilan yang selaras dengan design system Anda.

Accessibility ​

  • Komponen ini mempertahankan seluruh fitur aksesibilitas select bawaan HTML.
  • Pembaca layar bisa menelusuri pilihan memakai tombol panah.
  • Ikon panahnya ditandai aria-hidden="true" supaya tidak dibacakan dua kali.
  • Pakai aria-label atau aria-labelledby kalau butuh konteks tambahan.
vue
<template>
  <NativeSelect aria-label="Choose your preferred language">
    <NativeSelectOption value="en">
      English
    </NativeSelectOption>
    <NativeSelectOption value="es">
      Spanish
    </NativeSelectOption>
    <NativeSelectOption value="fr">
      French
    </NativeSelectOption>
  </NativeSelect>
</template>
1
2
3
4
5
6
7
8
9
10
11
12
13

Requirements ​

Semua dipasang otomatis oleh kliping add; tabel ini untuk Anda yang memasang manual atau memeriksa project.

RequirementValue
ProjectVue 3.5+, Tailwind CSS v4, alias @ — disiapkan kliping init
npm packages@lucide/vue@^1.31.0, @vueuse/core@^14.4.0, reka-ui@^2.10.3
Filescomponents/ui/native-select/native-select.vue
components/ui/native-select/native-select-opt-group.vue
components/ui/native-select/native-select-option.vue
components/ui/native-select/index.ts

Anatomy ​

Susunan bagiannya seperti dipakai di contoh-contoh di atas. Impor semua bagian dari satu tempat, lalu susun begini:

vue
<NativeSelect>
  <NativeSelectOption />
  <NativeSelectOptGroup>
    <NativeSelectOption />
  </NativeSelectOptGroup>
</NativeSelect>

API Reference ​

NativeSelect ​

Komponen select utama yang membungkus elemen select bawaan HTML.

PropTypeDefaultDescription
modelValue?AcceptableValue | AcceptableValue[]—The controlled value. Bind with v-model.
EventPayloadDescription
@update:modelValue[]Emitted when the value changes.
SlotProps
#default—
Data attributeValue
[data-slot]"native-select-wrapper"

Semua prop lain diteruskan ke elemen <select> di baliknya.

vue
<NativeSelect>
  <NativeSelectOption value="option1">Option 1</NativeSelectOption>
  <NativeSelectOption value="option2">Option 2</NativeSelectOption>
</NativeSelect>

NativeSelectOption ​

Mewakili satu pilihan di dalam select.

SlotProps
#default—
Data attributeValue
[data-slot]"native-select-option"

Semua prop lain diteruskan ke elemen <option> di baliknya.

vue
<template>
  <NativeSelectOption value="apple">
    Apple
  </NativeSelectOption>
  <NativeSelectOption value="banana" disabled>
    Banana
  </NativeSelectOption>
</template>

NativeSelectOptGroup ​

Mengelompokkan pilihan-pilihan yang berkaitan agar lebih tertata.

SlotProps
#default—
Data attributeValue
[data-slot]"native-select-optgroup"

Semua prop lain diteruskan ke elemen <optgroup> di baliknya.

vue
<template>
  <NativeSelectOptGroup label="Fruits">
    <NativeSelectOption value="apple">
      Apple
    </NativeSelectOption>
    <NativeSelectOption value="banana">
      Banana
    </NativeSelectOption>
  </NativeSelectOptGroup>
</template>

CSS Variables ​

Token tema yang dibaca komponen ini — ubah nilainya di CSS global (:root dan .dark, lihat Theming) untuk mengubah tampilannya tanpa menyentuh komponennya: --border, --destructive, --input, --muted-foreground, --popover, --popover-foreground, --primary, --primary-foreground, --radius, --ring.

Credits ​

Berasal dari shadcn-vue (MIT, Copyright (c) 2023 unovue). Rantai lengkapnya di Credits.

PreviousMessage ScrollerNext Navigation Menu

On This Page

InstallationUsageExamplesDengan GrupKeadaan NonaktifKeadaan Tidak ValidIntegrasi dengan FormNative Select dibanding SelectAccessibilityRequirementsAnatomyAPI ReferenceNativeSelectNativeSelectOptionNativeSelectOptGroupCSS VariablesCredits

© 2026 Kliping. Free components are open source under the MIT License.

LicenseCreditsRoadmap