Меню
отображает пользователю меню — например, набор действий или функций — запускаемое кнопкой.
❯buridan add менюПримеры
Базовый
Чистое раскрывающееся меню с метками организационных групп и визуальными разделителями.
Использованный реквизит: Нет.
Ярлыки
Раскрывающиеся элементы с выровненными по правому краю подсказками для команд клавиатуры, встроенными в макет строки.
Используются реквизиты: menu.shortcut в качестве дочернего элемента-обертки.
Иконки
Записи строк украшены значками действий слева для удобства визуального сканирования.
Используемые реквизиты: hi <hugeicon> в качестве встроенного дочернего элемента префикса.
Разрушительный
Включите стили предупреждений в отдельные элементы для необратимых действий.
Использованный реквизит: variant="destructive" на menu.item.
Справочник по API
меню.корень
Создает экземпляр контейнера контекста позиционирования, построенного на основе собственного компонента раскрытия HTML <details>. Включает автоматические прослушиватели JavaScript для нажатия клавиш документа (Escape) и закрытия окон по щелчку мыши.
menu.root(
menu.trigger("Open Menu"),
menu.content(...)
)
меню.триггер
Вложенное ограничение интерактивности: Не передавайте полностью интерактивные компоненты (например, стандартные блоки
button(...)) как дочерние элементы внутриmenu.trigger. Вложенные интерактивные элементы перехватывают события щелчка DOM и предотвращают открытие меню. Чтобы стилизовать триггер как кнопку, передайте необработанные строки/значки и примените классы кнопок непосредственно к компоненту триггера.
Целевая оболочка элемента управления, которая переключает открытое состояние видимости контейнера списка меню. Создает собственный HTML-элемент <summary>.
menu.trigger("Click me")
меню.содержание
Границы макета: этот компонент использует чистое абсолютное позиционирование CSS вместо порталирования DOM. Всплывающее меню остается глубоко вложенным в локализованный узел дерева DOM. Убедитесь, что никакие макеты родительских контейнеров над этим компонентом не применяют ограничения overflow: скрытый или overflow: auto, так как это физически обрежет или обрежет плавающее раскрывающееся меню.
Оболочка относительного позиционирования, содержащая коллекцию ссылок или строк действий.
menu.content(
menu.item("Item 1"),
side="bottom",
align="start"
)
меню.пункт
Компонент строки выбора действия. Внедряет фрагмент действия обхода DOM, который сворачивает родительское меню сразу после щелчка.
Предупреждение о контексте цикла: При отображении внутри
rx.foreachпередайте явныйid, полученный из данных вашего цикла (например,id=f"menu-item-{item.id}"), чтобы предотвратить коллизии статических шаблонов.
menu.item("Profile", variant="default", close_on_click=True)
меню.закрыть
Кнопка макета выбора элементов, полностью предназначенная для закрытия и закрытия панели меню при нажатии. Идеально подходит для строк макета, которые явно действуют как кнопки «Отмена».
menu.close("Cancel Action", class_name="text-center justify-center")
меню.разделитель
Тематическая линия разделения, используемая для разделения отдельных кластеров действий с содержимым меню по горизонтали.
menu.separator()
меню.group_label
Отображает доступную небольшую строку меток заголовка, выделенную серым цветом, которая идеально подходит для категоризации наборов элементов внутри многоуровневых меню.
menu.group_label("Workspace Actions")
меню.ярлык
Контейнер утилит с выравниванием по правому краю, используемый для четкого расположения семантических сочетаний клавиш или подсказок кнопок внутри menu.item.
menu.item(
"Save Project",
menu.shortcut("Ctrl + S")
)