modelValue | any | any[] | — | Yes | Nilai yang terpilih (v-model). |
options | SelectOption[] | — | Yes | Array of options untuk dropdown. |
label? | string | Component | VNode | — | No | Label untuk dropdown. |
placeholder? | string | — | No | Placeholder text untuk trigger. |
size? | 'sm' | 'md' | 'lg' | 'md' | No | Ukuran dropdown. |
indicator? | 'check' | 'radio' | 'check' | No | Tipe indicator untuk selected option. |
multiple? | boolean | false | No | Apakah memungkinkan multiple selection. |
searchable? | boolean | true | No | Apakah dropdown bisa di-search. |
disabled? | boolean | false | No | Apakah komponen dalam mode readonly/disabled. |
hasMore? | boolean | false | No | Apakah masih ada data yang bisa di-load (untuk infinite scroll). |
loading? | boolean | false | No | Apakah sedang loading data (untuk infinite scroll). |
currentPage? | number | — | No | Halaman saat ini (untuk infinite scroll). |
onLoadMore? | (page: number) => void | — | No | Callback untuk load data halaman berikutnya. |
onSearch? | (searchTerm: string) => void | — | No | Callback untuk search dengan debounce. |
searchDebounceMs? | number | 300 | No | Delay untuk debounce search (ms). |
searchValue? | string | — | No | Controlled search value (optional) - jika tidak disediakan, akan menggunakan internal state. |
onSearchChange? | (searchTerm: string) => void | — | No | Callback untuk perubahan search value (optional) - untuk controlled mode. |
@update:selectedRaw? | (selectedRaw: SelectOption | SelectOption[] | null) => void | — | No | Event yang dipanggil ketika selectedRaw berubah (berisi SelectOption object atau array). Single select mengembalikan SelectOption | null, multiple select mengembalikan SelectOption[] | null. |
@selectedRawChange? | (selectedRaw: SelectOption | SelectOption[] | null) => void | — | No | Event yang dipanggil ketika selectedRaw berubah (berisi SelectOption object atau array). Single select mengembalikan SelectOption | null, multiple select mengembalikan SelectOption[] | null. |
width? | number | string | '100%' | No | Lebar komponen. |
panelWidth? | number | string | — | No | Lebar popup panel. |
panelHeight? | number | string | 600 | No | Max height popup panel. |
panelClassName? | string | '' | No | ClassName tambahan untuk panel. |
triggerClassName? | string | '' | No | ClassName tambahan untuk trigger. |
class? | string | '' | No | HTML standard attribute `class` untuk container (fallthrough). |
showPreviewValue? | boolean | true | No | Tampilkan preview selected value. |
renderOptionLabel? | Function | — | No | Custom render label option. |
renderSelectedPreview? | Function | — | No | Custom render selected preview. |
prefixNode? | Component | VNode | — | No | Node sebelum label trigger. |
onRemoveSelected? | (value: any) => void | — | No | Callback remove selected. |