Skip to Content

MultiSelect

Custom searchable multi-select component for selecting multiple values from a list.

Import

import { MultiSelect } from '@tidbcloud/uikit'

Basic Usage

import { MultiSelect } from '@tidbcloud/uikit' function Demo() { return ( <MultiSelect label="Your favorite libraries" placeholder="Pick value" data={['React', 'Angular', 'Vue', 'Svelte']} /> ) }

Controlled

import { useState } from 'react' import { MultiSelect } from '@tidbcloud/uikit' function Demo() { const [value, setValue] = useState<string[]>([]) return <MultiSelect data={['React', 'Angular', 'Vue', 'Svelte']} value={value} onChange={setValue} /> }

Searchable

import { MultiSelect } from '@tidbcloud/uikit' function Demo() { return ( <MultiSelect label="Your favorite libraries" placeholder="Pick value" data={['React', 'Angular', 'Vue', 'Svelte']} searchable /> ) }

Clearable

import { MultiSelect } from '@tidbcloud/uikit' function Demo() { return ( <MultiSelect label="Your favorite libraries" placeholder="Pick value" data={['React', 'Angular', 'Vue', 'Svelte']} defaultValue={['React']} clearable /> ) }

Max Values

Limit the number of selected values.

import { MultiSelect } from '@tidbcloud/uikit' function Demo() { return ( <MultiSelect label="Your favorite libraries" placeholder="Select up to 2 libraries" data={['React', 'Angular', 'Vue', 'Svelte']} maxValues={2} /> ) }

Hide Picked Options

import { MultiSelect } from '@tidbcloud/uikit' function Demo() { return ( <MultiSelect label="Your favorite libraries" placeholder="Pick value" data={['React', 'Angular', 'Vue', 'Svelte']} hidePickedOptions /> ) }

Grouped Options

import { MultiSelect } from '@tidbcloud/uikit' function Demo() { return ( <MultiSelect label="Your favorite libraries" placeholder="Pick value" data={[ { group: 'Frontend', items: ['React', 'Angular'] }, { group: 'Backend', items: ['Express', 'Django'] } ]} /> ) }

Key Props

PropTypeDescription
datastring[] | ComboboxDataOptions data
valuestring[]Selected values (controlled)
defaultValuestring[]Default selected values
onChange(value: string[]) => voidCalled when value changes
searchablebooleanEnable filtering by user input
clearablebooleanShow clear button
maxValuesnumberMaximum number of selected values
hidePickedOptionsbooleanHide selected options from dropdown
nothingFoundMessagestringMessage when no options match search
checkIconPosition'left' | 'right'Position of check icon
withCheckIconbooleanShow check icon on selected options
labelReactNodeInput label
placeholderstringInput placeholder
disabledbooleanDisable input
searchValuestringControlled search value
onSearchChange(value: string) => voidCalled when search value changes
Last updated on