Back to Element Plus

Autocomplete

docs/en-US/component/autocomplete.md

2.13.711.2 KB
Original Source

Autocomplete

Get some recommended tips based on the current input.

Basic Usage

Autocomplete component provides input suggestions.

:::demo The fetch-suggestions attribute is a method that return suggested inputs. In this example, querySearch(queryString, cb) return suggestions to Autocomplete via cb(data) when suggestions are ready.

autocomplete/autocomplete

:::

Custom template

Customize how suggestions are displayed.

:::demo Use scoped slot to customize suggestion items. In the scope, you can access the suggestion object via the item key.

autocomplete/autocomplete-template

:::

Search data from server-side.

:::demo

autocomplete/remote-search

:::

Custom Loading ^(2.5.0)

Override loading content.

:::demo

autocomplete/custom-loading

:::

You can customize both the header and footer of the dropdown using slots

:::demo Use slot to customize the content.

autocomplete/custom-header-footer

:::

API

Attributes

NameDescriptionTypeDefault
model-value / v-modelbinding value^[string]
placeholderthe placeholder of Autocomplete^[string]
clearablewhether to show clear button^[boolean]false
disabledwhether Autocomplete is disabled^[boolean]false
value-keykey name of the input suggestion object for display^[string]value
debouncedebounce delay when typing, in milliseconds^[number]300
placementplacement of the popup menu^[enum]'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end'bottom-start
fetch-suggestionsa method to fetch input suggestions. When suggestions are ready, invoke callback(data:[]) to return them to Autocomplete^[Array] / ^[Function](queryString: string, callback: callbackfn) => void
trigger-on-focuswhether show suggestions when input focus^[boolean]true
select-when-unmatchedwhether to emit a select event on enter when there is no autocomplete match^[boolean]false
namesame as name in native input^[string]
aria-label ^(a11y) ^(2.7.2)native aria-label attribute^[string]
hide-loadingwhether to hide the loading icon in remote search^[boolean]false
popper-classcustom class name for autocomplete's dropdown^[string] / ^[object]''
popper-style ^(2.11.4)custom style for autocomplete's dropdown^[string] / ^[object]
teleportedwhether select dropdown is teleported to the body^[boolean]true
append-to ^(2.9.9)which select dropdown appends to^[CSSSelector] / ^[HTMLElement]
highlight-first-itemwhether to highlight first item in remote search suggestions by default^[boolean]false
fit-input-widthwhether the width of the dropdown is the same as the input^[boolean]false
popper-append-to-body ^(deprecated)whether to append the dropdown to body. If the positioning of the dropdown is wrong, you can try to set this prop to false^[boolean]false
loop-navigation ^(2.11.4)whether keyboard navigation loops from end to start^[boolean]true
input props

Events

NameDescriptionType
blurtriggers when Input blurs^[Function](event: FocusEvent) => void
focustriggers when Input focuses^[Function](event: FocusEvent) => void
inputtriggers when the Input value change^[Function](value: string | number) => void
cleartriggers when the Input is cleared by clicking the clear button^[Function]() => void
selecttriggers when a suggestion is clicked^[Function](item: Record<string, any>) => void
changetriggers when the icon inside Input value change^[Function](value: string | number) => void

Slots

NameDescriptionType
defaultcustom content for input suggestions^[object]{ item: Record<string, any> }
header ^(2.10.6)content at the top of the dropdown-
footer ^(2.10.6)content at the bottom of the dropdown-
prefixcontent as Input prefix-
suffixcontent as Input suffix-
prependcontent to prepend before Input-
appendcontent to append after Input-
loading ^(2.5.0)override loading content-

Exposes

NameDescriptionType
activatedif autocomplete activated^[object]Ref<boolean>
blurblur the input element^[Function]() => void
closecollapse suggestion list^[Function]() => void
focusfocus the input element^[Function]() => void
handleSelecttriggers when a suggestion is clicked^[Function](item: any) => promise<void>
handleKeyEnterhandle keyboard enter event^[Function]() => promise<void>
highlightedIndexthe index of the currently highlighted item^[object]Ref<number>
highlighthighlight an item in a suggestion^[Function](itemIndex: number) => void
inputRefel-input component instance^[object]Ref<ElInputInstance>
loadingremote search loading indicator^[object]Ref<boolean>
popperRefel-tooltip component instance^[object]Ref<ElTooltipInstance>
suggestionsfetch suggestions result^[object]Ref<record<string, any>[]>
getData ^(2.8.4)loading suggestion list^[Function](queryString: string) => promise<void>