type: meya.form.component.select
class: SelectComponent
path: /meya/form/component/select.py
signature: select
Fields
field | signature | required | type | default | description |
---|---|---|---|---|---|
spec | ○ | ○ | Spec | null | Override the original spec for this element |
context | ○ | ○ | dict | {} | Send context data with this component's event |
sensitive | ○ | ○ | bool | false | Mark this component's event as sensitive |
triggers | ○ | ○ | list | [] | Activate these dynamic triggers when the component runs |
quick_replies | ○ | ○ | list | [] | List of buttons that the user can select for replies |
composer | ○ | ○ | ComposerElementSpec | focus: blur | |
header | ○ | ○ | HeaderElementSpec | buttons: | Override the header for this component |
markdown | ○ | ○ | list | null | Override the bot Markdown mode for this component |
select | ◉ | ○ | str | "Select" | Label shown to describe this field |
icon | ○ | ○ | IconElementSpec | null | Icon shown for this field |
name | ○ | ○ | str | "select" | Name of the input element |
autocomplete | ○ | ○ | str | "off" | Autocomplete mode for this field |
no_results_text | ○ | ○ | str | "No results" | Text shown when no matches were found via search |
custom | ○ | ○ | bool | false | Whether custom values can be entered |
search | ○ | ○ | bool | false | Whether the user can type to search the options |
placeholder | ○ | ○ | str | null | |
multi | ○ | ○ | bool | false | Whether multiple options can be selected |
default | ○ | ○ | str | null | Default selected option (text) |
options | ○ | ◉ | list | Options available for selection | |
retries | ○ | ○ | Real | "inf" | Number of retries before flow continues with error |
error_message | ○ | ○ | str | "Invalid value selected" | Message shown if input is invalid |
Examples
Basic
triggers:
- keyword: meya.form.component.select
steps:
- select: STRING
options:
- text: STRING
value: ANY
Full
triggers:
- keyword: meya.form.component.select
steps:
- spec:
type: STRING
data:
STRING: ANY
timeout: 123
trigger_when: ANY
context:
STRING: ANY
sensitive: false
triggers:
- type: STRING
data:
STRING: ANY
timeout: 123
trigger_when: ANY
quick_replies:
- url: STRING
javascript: STRING
button_id: STRING
context:
STRING: ANY
default: false
disabled: false
divider: false
icon:
url: STRING
color: STRING
path: STRING
action: COMPONENT
value: ANY
result: ANY
data:
STRING: ANY
magic: false
type: text|url|static|menu|divider|action|flow_next|component_next
menu:
- BUTTONELEMENTSPEC
text: STRING
composer:
focus: file|image|text|blur
placeholder: STRING
collapse_placeholder: STRING
visibility: collapse|hide|show
header:
buttons:
- url: STRING
javascript: STRING
button_id: STRING
context:
STRING: ANY
default: false
disabled: false
divider: false
icon:
url: STRING
color: STRING
path: STRING
action: COMPONENT
value: ANY
result: ANY
data:
STRING: ANY
magic: false
type: text|url|static|menu|divider|action|flow_next|component_next
menu:
- BUTTONELEMENTSPEC
text: STRING
title:
text: STRING
icon:
url: STRING
color: STRING
path: STRING
progress:
value: 123
show_percent: false
milestones:
- text: STRING
current: false
extra_buttons:
- url: STRING
javascript: STRING
button_id: STRING
context:
STRING: ANY
default: false
disabled: false
divider: false
icon:
url: STRING
color: STRING
path: STRING
action: COMPONENT
value: ANY
result: ANY
data:
STRING: ANY
magic: false
type: text|url|static|menu|divider|action|flow_next|component_next
menu:
- BUTTONELEMENTSPEC
text: STRING
markdown:
- format|linkify|breaks|typographer
select: STRING
icon:
url: STRING
color: STRING
path: STRING
name: STRING
autocomplete: STRING
no_results_text: STRING
custom: false
search: false
placeholder: STRING
multi: false
default:
- item1
- item2
options:
- text: STRING
disabled: false
value: ANY
retries: 123
error_message: STRING