Menu

A versatile menu for navigation

Menu

When to use

Navigation is an important part of any website, as a good navigation setup allows users to move around the site quickly and efficiently. PCB Design system offers top and side navigation options.
Top navigation provides all the categories and functions of the website. Side navigation provides the multi-level structure of the website.
More layouts with navigation:


Top Navigation

Horizontal top navigation menu

Inline menu

Vertical menu with inline submenus.

Collapsed inline menu

Inline menu could be collapsed.
Here is a complete demo with sider layout.

Vertical menu

Submenus open as pop-ups.

API

PropertyDescriptionTypeDefault
defaultOpenKeys
Array with the keys of default opened sub menus
string[]
defaultSelectedKeys
Array with the keys of default selected menu items
string[]
forceSubMenuRender
Render submenu into DOM before it becomes visible
boolean
false
inlineCollapsed
Specifies the collapsed status when menu is inline mode
boolean
-
inlineIndent
Indent (in pixels) of inline menu items on each level
number
24
mode
Type of menu; vertical, horizontal, or inline
vertical | horizontal | inline
vertical
multiple
Allows selection of multiple items
boolean
false
openKeys
Array with the keys of currently opened sub-menus
string[]
selectable
Allows selecting menu items
boolean
true
selectedKeys
Array with the keys of currently selected menu items
string[]
style
Style of the root node
CSSProperties
subMenuCloseDelay
Delay time to hide submenu when mouse leaves (in seconds)
number
0.1
subMenuOpenDelay
Delay time to show submenu when mouse enters, (in seconds)
number
0
theme
Color theme of the menu
light | dark
light
onClick
Called when a menu item is clicked
function({ item, key, keyPath, domEvent })
-
onDeselect
Called when a menu item is deselected (multiple mode only)
function({ item, key, keyPath, selectedKeys, domEvent })
-
onOpenChange
Called when sub-menus are opened or closed
function(openKeys: string[])
noop
onSelect
Called when a menu item is selected
function({ item, key, keyPath, selectedKeys, domEvent })
none
overflowedIndicator
Customized icon when menu is collapsed
ReactNode
-
PropertyDescriptionTypeDefault
disabled
Whether menu item is disabled
boolean
false
key
Unique ID of the menu item
string
title
Set display title for collapsed item
string
icon
icon of the menu item
ReactNode
danger
Display the danger style
boolean
false
PropertyDescriptionTypeDefault
popupClassName
Sub-menu class name
string
children
Sub-menus or sub-menu items
Array
disabled
Whether sub-menu is disabled
boolean
false
key
Unique ID of the sub-menu
string
title
Title of sub menu
string|ReactNode
icon
Icon of sub menu
ReactNode
onTitleClick
Callback executed when the sub-menu title is clicked
function({ key, domEvent })
PropertyDescriptionTypeDefault
children
sub-menu items
MenuItem[]
title
title of the group
string|ReactNode