Dropdown¶
marimo.ui.dropdown ¶
dropdown( options: Sequence[Any] | dict[str, Any], value: Any | None = None, allow_select_none: bool | None = None, searchable: bool = False, *, label: str = "", on_change: Callable[[Any], None] | None = None, full_width: bool = False ) Bases: UIElement[list[str], Any]
A dropdown selector.
Examples:
dropdown = mo.ui.dropdown( options=["a", "b", "c"], value="a", label="choose one" ) # With search functionality dropdown = mo.ui.dropdown( options=["a", "b", "c"], value="a", label="choose one", searchable=True, ) dropdown = mo.ui.dropdown( options={"one": 1, "two": 2, "three": 3}, value="one", label="pick a number", ) Or from a dataframe series:
| ATTRIBUTE | DESCRIPTION |
|---|---|
value | The selected value, or None if no selection. TYPE: |
options | A dict mapping option name to option value. TYPE: |
selected_key | The selected option's key, or None if no selection. TYPE: |
| PARAMETER | DESCRIPTION |
|---|---|
options | Sequence of options, or dict mapping option name to option value. If the options are not strings, they will be converted to strings when displayed in the dropdown. TYPE: |
value | Default option name. Defaults to None. TYPE: |
allow_select_none | Whether to include special option ("--") for a None value; when None, defaults to True when value is None. Defaults to None. TYPE: |
searchable | Whether to enable search functionality. Defaults to False. If the number of options is greater than 1000, this will be set to True, automatically. TYPE: |
label | Markdown label for the element. Defaults to "". TYPE: |
on_change | Optional callback to run when this element's value changes. Defaults to None. TYPE: |
full_width | Whether the input should take up the full width of its container. Defaults to False. TYPE: |
selected_key property ¶
The selected option's key, or None if no selection.
batch ¶
batch(**elements: UIElement[JSONType, object]) -> batch Convert an HTML object with templated text into a UI element.
This method lets you create custom UI elements that are represented by arbitrary HTML.
Example
user_info = mo.md( ''' - What's your name?: {name} - When were you born?: {birthday} ''' ).batch(name=mo.ui.text(), birthday=mo.ui.date()) In this example, user_info is a UI Element whose output is markdown and whose value is a dict with keys 'name' and 'birthday' (and values equal to the values of their corresponding elements).
| PARAMETER | DESCRIPTION |
|---|---|
elements | the UI elements to interpolate into the HTML template. TYPE: |
callout ¶
callout( kind: Literal[ "neutral", "danger", "warn", "success", "info" ] = "neutral" ) -> Html Create a callout containing this HTML element.
A callout wraps your HTML element in a raised box, emphasizing its importance. You can style the callout for different situations with the kind argument.
Examples:
form ¶
form( label: str = "", *, bordered: bool = True, loading: bool = False, submit_button_label: str = "Submit", submit_button_tooltip: str | None = None, submit_button_disabled: bool = False, clear_on_submit: bool = False, show_clear_button: bool = False, clear_button_label: str = "Clear", clear_button_tooltip: str | None = None, validate: Callable[[Optional[JSONType]], str | None] | None = None, on_change: Callable[[Optional[T]], None] | None = None ) -> form[S, T] Create a submittable form out of this UIElement.
Creates a form that gates submission of a UIElement's value until a submit button is clicked. The form's value is the value of the underlying element from the last submission.
Examples:
Convert any UIElement into a form:
Combine with HTML.batch to create a form made out of multiple UIElements:
form = ( mo.ui.md( ''' **Enter your prompt.** {prompt} **Choose a random seed.** {seed} ''' ) .batch( prompt=mo.ui.text_area(), seed=mo.ui.number(), ) .form() ) | PARAMETER | DESCRIPTION |
|---|---|
label | A text label for the form. TYPE: |
bordered | Whether the form should have a border. TYPE: |
loading | Whether the form should be in a loading state. TYPE: |
submit_button_label | The label of the submit button. TYPE: |
submit_button_tooltip | The tooltip of the submit button. TYPE: |
submit_button_disabled | Whether the submit button should be disabled. TYPE: |
clear_on_submit | Whether the form should clear its contents after submitting. TYPE: |
show_clear_button | Whether the form should show a clear button. TYPE: |
clear_button_label | The label of the clear button. TYPE: |
clear_button_tooltip | The tooltip of the clear button. TYPE: |
validate | A function that takes the form's value and returns an error message if invalid, or TYPE: |
on_change | Optional callback to run when this element's value changes. Defaults to None. TYPE: |
from_args classmethod ¶
from_args( data: dict[str, int], args: InitializationArgs[S, T], memo: dict[int, Any] | None = None, basis: UIElement[S, T] | None = None, ) -> UIElement[S, T] from_series staticmethod ¶
from_series( series: DataFrameSeries, **kwargs: Any ) -> dropdown Create a dropdown from a dataframe series.
style ¶
style( style: dict[str, Any] | None = None, **kwargs: Any ) -> Html Wrap an object in a styled container.
Example
| PARAMETER | DESCRIPTION |
|---|---|
style | an optional dict of CSS styles, keyed by property name TYPE: |
**kwargs | CSS styles as keyword arguments TYPE: |