Skip to content

Combobox

新粗野主义风格的可搜索选择组件。提供单选(Combobox)和多选(ComboboxMulti)两种模式。

预览

安装

pnpm dlx brutx@latest add combobox

单选模式

vue
<script setup>
import { ref } from 'vue'
import Combobox from '@/components/ui/Combobox.vue'

const selected = ref(undefined)

const options = [
    { value: 'vue', label: 'Vue' },
    { value: 'react', label: 'React' },
    { value: 'angular', label: 'Angular' },
    { value: 'svelte', label: 'Svelte' },
]
</script>

<template>
    <Combobox
        v-model="selected"
        :options="options"
        placeholder="Select a framework..."
        search-placeholder="Search frameworks..."
    />
</template>

多选模式

vue
<script setup>
import { ref } from 'vue'
import ComboboxMulti from '@/components/ui/ComboboxMulti.vue'

const selected = ref([])

const options = [
    { value: 'vue', label: 'Vue' },
    { value: 'react', label: 'React' },
    { value: 'angular', label: 'Angular' },
    { value: 'svelte', label: 'Svelte' },
]
</script>

<template>
    <ComboboxMulti
        v-model="selected"
        :options="options"
        placeholder="Select frameworks..."
        :max-display="3"
    />
</template>

ComboboxOption 类型

ts
interface ComboboxOption {
    value: string
    label: string
    disabled?: boolean
}

Props

Combobox(单选)

属性类型默认值
optionsComboboxOption[]—(必填)
modelValuestring | undefined
placeholderstring'Select option...'
searchPlaceholderstring'Search...'
emptyTextstring'No results found.'
disabledbooleanfalse
classstring

ComboboxMulti(多选)

属性类型默认值
optionsComboboxOption[]—(必填)
modelValuestring[][]
placeholderstring'Select options...'
searchPlaceholderstring'Search...'
emptyTextstring'No results found.'
disabledbooleanfalse
maxDisplaynumber3
classstring

事件

Combobox

事件载荷
update:modelValuestring | undefined

ComboboxMulti

事件载荷
update:modelValuestring[]