AutocompleteInput#
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).
import panel as pn
pn.extension()
The AutocompleteInput widget allows selecting a value from a list or dictionary of options by entering the value into an auto-completing text field. It falls into the broad category of single-value, option-selection widgets that provide a compatible API and include the RadioBoxGroup, Select and DiscreteSlider widgets.
Discover more on using widgets to add interactivity to your applications in the how-to guides on interactivity. Alternatively, learn how to set up callbacks and (JS-)links between parameters or how to use them as part of declarative UIs with Param.
Parameters:#
For details on other options for customizing the component see the layout and styling how-to guides.
Core#
options(list or dict): A list or dictionary of options to select fromrestrict(boolean,default=True): Set to False in order to allow users to enter text that is not present in the options list.search_strategy(str): Define how to search the list of completion strings. The default option"starts_with"means that the user’s text must match the start of a completion string. Using"includes"means that the user’s text can match any substring of a completion string.value(str): The current value updated when pressingkey; must be one of the option values if restrict=True. value_input(str): The current value updated on every key press.case_sensitive(boolean,default=True): Enable or disable case sensitivity for matching completions.
Display#
disabled(boolean): Whether the widget is editablename(str): The title of the widgetplaceholder(str): A placeholder string displayed when no option is selectedmin_characters(int,default=2): The number of characters a user must type before completions are presented.
autocomplete = pn.widgets.AutocompleteInput(
    name='Autocomplete Input', options=['Biology', 'Chemistry', 'Physics'],
    case_sensitive=False, search_strategy='includes',
    placeholder='Write something here')
pn.Row(autocomplete, height=100)
Like most other widgets, AutocompleteInput has a value parameter that can be accessed or set:
autocomplete.value
If restrict=False the AutocompleteInput will allow any input in addition to the completions it offers:
not_restricted = autocomplete.clone(value='Mathematics', restrict=False)
pn.Row(not_restricted, height=100)
not_restricted.value
The options parameter also accepts a dictionary whose keys are going to be the labels of the dropdown menu.
dict_autocomplete = pn.widgets.AutocompleteInput(name='Autocomplete', options={'Biology': 1, 'Chemistry': 2})
pn.Row(dict_autocomplete, height=100)
dict_autocomplete.value
Updating the value will display the right label.
dict_autocomplete.value = 2
Controls#
The AutocompleteInput widget exposes a number of options which can be changed from both Python and Javascript. Try out the effect of these parameters interactively:
pn.Row(autocomplete.controls(jslink=True), autocomplete)
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).