Dropdown
The Dropdown component provides a user-friendly menu with selectable options. Use it to allow users to pick from a list of predefined choices.
Example:
import { query, icons, Dropdown } from 'lakelib';
const dropdown = new Dropdown({
root: query('.dropdown-root'),
name: 'langType',
downIcon: icons.get('down'),
defaultValue: 'html',
tooltip: 'Select language',
width: '100px',
menuType: 'list',
menuItems: [
{ value: 'text', text: 'Plain text' },
{ value: 'css', text: 'CSS' },
{ value: 'html', text: 'HTML' },
{ value: 'javascript', text: 'JavaScript' },
],
onSelect: value => {
console.log(value);
},
});
dropdown.render();import { query, icons, Dropdown } from 'lakelib';
const dropdown = new Dropdown({
root: query('.dropdown-root'),
name: 'align',
icon: icons.get('alignLeft'),
downIcon: icons.get('down'),
tooltip: 'Alignment',
menuType: 'list',
menuItems: [
{
icon: icons.get('alignLeft'),
value: 'left',
text: 'Align left',
},
{
icon: icons.get('alignCenter'),
value: 'center',
text: 'Align center',
},
{
icon: icons.get('alignRight'),
value: 'right',
text: 'Align right',
},
],
onSelect: value => {
console.log(value);
},
});
dropdown.render();Constructor
Creates a new Dropdown instance. It receives a key-value object with the following properties as its parameter.
root
Specifies the element where the dropdown will be appended.
Type: Nodes
name
Specifies the name attribute for the dropdown.
Type: string
menuType
Specifies the style of the dropdown menu.
Type: 'list' | 'icon' | 'character' | 'color'
menuItems
Specifies an array of menu items to display. Each item should include at least a value and text property.
Type: DropdownMenuItem
onSelect
Specifies the function triggered when an option is selected. Receives the selected value as its argument.
Type: function
icon Optional
Specifies custom icon for the dropdown.
Type: HTML string
accentIcon Optional
Specifies an accent icon used specifically for a color type.
Type: HTML string
downIcon Optional
Specifies an icon for the caret-down indicator.
Type: HTML string
defaultValue Optional
Specifies the default selected value when the dropdown is first rendered.
Type: string
tooltip Optional
Specifies the tooltip text for the dropdown button.
Type: string
width Optional
Specifies the width of the dropdown.
Type: string
locale Optional
Specifies custom translation functions for localization.
Type: TranslationFunctions
tabIndex Optional
Specifies the tab order of the dropdown.
Type: number
location Optional
Determines whether the toolbar is appended to the root or document.body element. When set to local, the toolbar is appended to the root element.
Type: 'local' | 'global'
Default: local
direction Optional
Sets the vertical position of the menu relative to the button. bottom places the menu below the button, top above it, or auto to decide automatically.
Type: 'top' | 'bottom' | 'auto'
Default: auto
menuWidth Optional
Specifies the width of the dropdown menu.
Type: string
menuHeight Optional
Specifies the height of the dropdown menu.
Type: string
menuCheck Optional
Determines if menu items are selectable. If set to false, the menu items will not be selectable.
Type: boolean
Instance properties
node Read only
The DOM element that contains the dropdown's contents.
- Type: Nodes
Example:
const dropdownNode = dropdown.node;Instance methods
render()
Renders the dropdown to the DOM.
Parameters:
None.
Return value:
None.
Example:
dropdown.render();unmount()
Removes the dropdown from the DOM and cleans up resources.
Parameters:
None.
Return value:
None.
Example:
dropdown.unmount();