DropdownВыпадающее меню
Компонент выпадающего меню используется для отображения определенного содержимого во всплывающем элементе управления, часто в сочетании с компонентом меню.
Использование
При необходимости импортируйте компонент:
import 'mdui/components/dropdown.js';
При необходимости импортируйте типы TypeScript:
import type { Dropdown } from 'mdui/components/dropdown.js';
Пример использования:
<mdui-dropdown>
<mdui-button slot="trigger">open dropdown</mdui-button>
<mdui-menu>
<mdui-menu-item>Item 1</mdui-menu-item>
<mdui-menu-item>Item 2</mdui-menu-item>
</mdui-menu>
</mdui-dropdown>Примеры
Отключенное состояние
Добавьте атрибут disabled, чтобы отключить компонент выпадающего меню.
Положение открытия
Используйте атрибут placement для установки положения открытия выпадающего меню.
Способ вызова
Используйте атрибут trigger для установки способа вызова выпадающего меню.
Открытие в позиции курсора
Добавьте атрибут open-on-pointer, чтобы выпадающее меню открывалось в позиции курсора. Обычно используется вместе с trigger="contextmenu" для открытия меню правой кнопкой мыши.
Сохранение меню открытым при клике
При использовании меню внутри выпадающего меню по умолчанию оно автоматически закрывается при клике на пункт меню. Добавьте атрибут stay-open-on-click, чтобы меню оставалось открытым при клике на пункт меню.
Задержка открытия/закрытия
При установке trigger="hover" можно задать задержку открытия и закрытия с помощью атрибутов open-delay и close-delay.
API
Свойства
| Атрибут | Свойство | Reflect | Тип | По умолчанию |
|---|---|---|---|---|
open | open | boolean | false | |
Определяет, открыто ли выпадающее меню. | ||||
disabled | disabled | boolean | false | |
Определяет, отключено ли выпадающее меню. | ||||
trigger | trigger | 'click' | 'hover' | 'focus' | 'contextmenu' | 'manual' | string | 'click' | |
Способ открытия выпадающего меню, можно указать несколько значений через пробел. Возможные значения:
| ||||
placement | placement | 'auto' | 'top-start' | 'top' | 'top-end' | 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'right-start' | 'right' | 'right-end' | 'auto' | |
Расположение содержимого выпадающего меню. Возможные значения:
| ||||
stay-open-on-click | stayOpenOnClick | boolean | false | |
Определяет, оставаться ли открытым после клика по | ||||
open-delay | openDelay | number | 150 | |
Задержка открытия выпадающего меню при наведении мыши, в миллисекундах. | ||||
close-delay | closeDelay | number | 150 | |
Задержка закрытия выпадающего меню при наведении мыши, в миллисекундах. | ||||
open-on-pointer | openOnPointer | boolean | false | |
Определяет, открывать ли выпадающее меню в позиции указателя; часто используется для контекстного меню. | ||||
События
| Название |
|---|
open |
Срабатывает в начале открытия выпадающего меню. Можно отменить открытие, вызвав |
opened |
Срабатывает после завершения анимации открытия выпадающего меню. |
close |
Срабатывает в начале закрытия выпадающего меню. Можно отменить закрытие, вызвав |
closed |
Срабатывает после завершения анимации закрытия выпадающего меню. |
Slots
| Название |
|---|
| (по умолчанию) |
Содержимое выпадающего меню. |
trigger |
Элемент, открывающий выпадающее меню, например |
Пользовательские CSS-свойства
| Название |
|---|
--z-index |
Значение CSS |