<Autocomplete />
The
<Autocomplete />
component is typically used for search components. It consists of a text input for writing a query, and properties for rendering suggestions.<Card padding={4} paddingBottom={[7, 7, 8]}>
<Autocomplete
fontSize={[2, 2, 3]}
icon={SearchIcon}
id="autocomplete-example"
options={[
{value: 'foo'},
{value: 'bar'},
{value: 'baz'},
]}
placeholder="Search options"
/>
</Card>
border?: boolean
filterOption?: (query: string, option: Option) => boolean
fontSize?: number | number[]
icon?: React.ComponentType | React.ReactNode
id: string
loading?: boolean
onChange?: (value: string) => void
onQueryChange?: (query: string | null) => void
onSelect?: (value: string) => void
options: {value: string}[]
The options to render.
padding?: number | number[]
placeholder?: string
prefix?: React.ReactNode
radius?: number | number[]
renderOption: (option: {value: string}) => React.ReactNode
The callback function for rendering each option.
renderValue?: (value: string, option?: Option) => string
suffix?: React.ReactNode
value?: string
The current value.
<Card padding={[3, 3, 4]} paddingBottom={[8, 8, 9]}>
<Autocomplete
// custom search filter
filterOption={(query, option) =>
option.payload.name
.toLowerCase()
.indexOf(query.toLowerCase()) > -1
}
fontSize={[2, 2, 3]}
icon={SearchIcon}
openButton
// options with `payload`
options={[
{
value: 'mikolajdobrucki',
payload: {
color: 'purple',
userId: 'mikolajdobrucki',
name: 'Mikołaj Dobrucki',
imageUrl:
'https://avatars.githubusercontent.com/u/5467602?v=4',
},
},
{
value: 'mariuslundgard',
payload: {
color: 'blue',
userId: 'mariuslundgard',
name: 'Marius Lundgård',
imageUrl:
'https://avatars.githubusercontent.com/u/406933?v=4',
},
},
{
value: 'vicbergquist',
payload: {