Для этого одному из элементов .dropdown-item необходимо добавить
класс .dropdown-submenu и поместить внутрь него такой же код, как и в одноуровневом меню и заменить класс триггера .dropdown-trigger на .dropdown-submenu-trigger
Для управления положением выпадающего меню, вы можете использовать атрибуты
data-dropdown-direction-x и data-dropdown-direction-y
Атрибут data-dropdown-direction-x принимает значения left или right
Атрибут data-dropdown-direction-y принимает значения up или down
Javascript
По умолчанию объекты не инициализированных выпадающих списков создаются автоматически и сохраняются компонентом PipUI.Storage
Вы можете создавать и управлять объектами выпадающих списков с помощью Javascript. Для этого необходимо создать объект PipUI.Dropdown и передать в него параметры
Объект Dropdown может содержать в себе 3 аргумента
HTMLElement или строка элемента на странице
Объект набора опций
Механизм обработки элемента. true - для создания нового, false - для инициализации из существующего выпадающего списка
Опции
// Выводить в консоль отладку
debug: false
// Опции шаблонов
templates: {
// Основной элемент выпадающего списка
wrapper: '<div class="dropdown"></div>'
// Элемент триггера, открывающего выпадающий список
trigger: '<button type="button" class="btn dropdown-trigger"></button>'
// Контейнер для списка
list: '<ul class="dropdown-list"></ul>'
Элемент списка
item: '<li class="dropdown-item"></li>'
}
// Имя кнопки выпадающего списка
name: ''
// URL адрес кнопки
url: ''
// Массив со списком элементов
list: []
// Направление в которое будет открываться список по оси X
direction_x: 'right'
// Направление в которое будет открываться список по оси Y
direction_y: 'down'
// По какому событию будет открываться список
openEvent: 'click'
// По какому событию будет открываться подменю
submenuOpenEvent: 'hover'
// Функция обратного вызова по завершению открытия
showCallback: undefined
// Функция обратного вызова по завершению скрытия
hideCallback: undefined
Методы
let dropdown =newPipUI.Dropdown();dropdown.getID() // Вернет уникальный идентификатор блокаdropdown.setOptions(object) // Изменить опции блока. DOM не будет изменен// до вызова метода dropdown.update()dropdown.getOptions() // Получить опции блокаdropdown.update() // Отрендерит список зановоdropdown.isOpen() // Открыт ли списокdropdown.hide(callback) // Скрыть список// Параметр callback является приоритетной функцией обратного// вызова при завершении скрытия, если она задана и через опцииdropdown.show(callback) // Отобразить список// Параметр callback является приоритетной функцией обратного// вызова при завершении отображения, если она задана и через опции