combo-box
The <mi-combo-box>
element can be used to display a filterable list of options to choose from.
Working examples:
Example usage:
<!-- HTML -->
<mi-combo-box id="combo-box">
<combo-box-item value="Dog" text="Dog"></combo-box-item>
<combo-box-item value="Cat" text="Cat"></combo-box-item>
<combo-box-item value="Plane" text="Plane"></combo-box-item>
<combo-box-item value="Home" text="Home"></combo-box-item>
</mi-combo-box>
const comboBoxElement = document.getElementById('combo-box');
comboBoxElement.addEventListener('change', (event) => {
const selectedValues = event.detail.map((item) => item.value);
})
open
attribute
An open
attribute is available on the <mi-combo-box>
element, which can be used to expand the dropdown.
items
attribute
A items
attribute is available on the <mi-combo-box>
element, which should be used to set the available options.
itemsOrder
attribute
A itemsOrder
attribute is available on the <mi-combo-box>
element, which can be set to asc
or desc
to sort the value of the items
attribute.
multiple
attribute
A multiple
attribute is available on the <mi-combo-box>
element, which can be set to true
to render checkboxes.
noResultsMessage
attribute
A noResultsMessage
attribute is available on the <mi-combo-box>
element, which should be used to set the message when no items are available to be displayed in the content window. The default is No results found
.
selected
attribute
A selected
attribute is available on the <mi-combo-box>
element, which can be used to get a list of selected HTMLMiDropdownItemElement
items.
disabled
attribute
An disabled
attribute is available on the <mi-combo-box>
element, which can be used to set the dropdown as disabled (unusable and unclickable).
change
event
A change
event is emitted from the <mi-combo-box>
element when the selection is changed.
Styling
On modern browsers, parts of the component style can be overriden using the CSS pseudo-element ::part()
.
The following parts are available for styling:
button
: Styles the button.button-icon
: Styles the icon on the left-hand side.button-label
: Styles the textual content inside the button.icon-down-arrow
: Styles the SVG icon on the right-hand side.dropdown-container
: Styles the container in which the contents are.
Styling Example
/* CSS */
mi-dropdown::part(button) {
color: #fcfcfc;
background: #3ba064;
}
Properties
Property | Attribute | Description | Type | Default |
---|---|---|---|---|
disabled |
disabled |
Sets the disabled state for the dropdown. | boolean |
false |
filterable |
filterable |
This attribute indicates that the items can be filtered using the input field present at the top. If it is not specified, the input field will not be visible, and filtering is not possible. | boolean |
false |
items |
-- | Gets or sets the list items. | HTMLMiDropdownItemElement[] |
[] |
itemsOrder |
items-order |
Sort order of items. | SortOrder.Asc | SortOrder.Desc |
undefined |
noResultsMessage |
no-results-message |
Guiding message when presented with a content window that has no rows. Default language is English. | string |
'No results found' |
open |
open |
Gets or sets the state of the dropdown. If the attribute is set to true then the dropdown will be expanded. | boolean |
false |
selected |
-- | Gets the selected items. | HTMLMiDropdownItemElement[] |
[] |
Events
Event | Description | Type |
---|---|---|
change |
Triggers an event when the selection is changed. | CustomEvent<any> |
Shadow Parts
Part | Description |
---|---|
"dropdown-container" |
|
"icon-down-arrow" |