2016-08-26 14:42:41 +08:00
---
category: Components
cols: 1
type: Navigation
2016-08-26 15:07:46 +08:00
title: Menu
2016-08-26 14:42:41 +08:00
---
Menu list of Navigation.
2016-09-10 13:43:30 +08:00
## When To Use
2016-08-26 14:42:41 +08:00
Navigation menu is important for a website, it helps users jump from one site section to another quickly. Mostly, it includes top navigation and side navigation. Top navigation provides all the category and functions of the website. Side navigation provides the Multi-level structure of the website.
2017-06-30 21:10:47 +08:00
More layouts with navigation: [layout ](/components/layout ).
## API
2016-08-26 14:42:41 +08:00
```html
< Menu >
< Menu.Item > Menu< / Menu.Item >
< SubMenu title = "SubMenu" >
< Menu.Item > SubMenuItem< / Menu.Item >
< / SubMenu >
< / Menu >
```
2017-06-16 16:56:03 +08:00
### Menu
2016-08-26 14:42:41 +08:00
| Param | Description | Type | Default value |
|----------|---------------|----------|--------------|
2017-09-08 09:45:01 +08:00
| theme | color theme of the menu | string: `light` `dark` | `light` |
| mode | type of the menu; `vertical` , `horizontal` , and `inline` modes are supported | string: `vertical` \| `horizontal` \| `inline` | `vertical` |
2017-04-03 14:42:28 +08:00
| selectable | allow selecting menu items | boolean | true |
2017-01-20 20:10:50 +08:00
| selectedKeys | array with the keys of currently selected menu items | string[] | |
| defaultSelectedKeys | array with the keys of default selected menu items | string[] | |
| openKeys | array with the keys of currently opened sub menus | string[] | |
2016-08-26 14:42:41 +08:00
| defaultOpenKeys | array with the keys of default opened sub menus | | |
2017-08-16 14:27:22 +08:00
| onOpenChange | called when open/close sub menu | function(openKeys: string[]) | noop |
2017-09-08 09:45:01 +08:00
| onSelect | callback executed when a menu item is selected | function({ item, key, selectedKeys }) | none |
| onDeselect | callback executed when a menu item is deselected, only supported for multiple mode | function({ item, key, selectedKeys }) | - |
| onClick | callback executed when a menu item is clicked | function({ item, key, keyPath }) | - |
2017-01-20 20:10:50 +08:00
| style | style of the root node | object | |
2016-12-22 15:06:21 +08:00
| inlineIndent | indent px of inline menu item on each level | number | 24 |
2017-09-08 09:45:01 +08:00
| multiple | Allow selection of multiple items | boolean | false |
| inlineCollapsed | specifies the collapsed status when menu is inline mode | boolean | - |
2017-08-29 19:45:13 +08:00
| selectable | Allow to be selected | boolean | true |
2016-08-26 14:42:41 +08:00
> More options in [rc-menu](https://github.com/react-component/menu#api)
2017-06-16 16:56:03 +08:00
### Menu.Item
2016-08-26 14:42:41 +08:00
| Param | Description | Type | Default value |
|----------|----------------|----------|--------------|
2017-09-08 09:45:01 +08:00
| disabled | whether menu item is disabled or not | boolean | false |
2017-01-20 20:10:50 +08:00
| key | unique id of the menu item | string | |
2016-08-26 14:42:41 +08:00
2017-06-16 16:56:03 +08:00
### Menu.SubMenu
2016-08-26 14:42:41 +08:00
| Param | Description | Type | Default value |
|----------|----------------|----------|--------------|
2017-09-08 09:45:01 +08:00
| disabled | whether sub menu is disabled or not | boolean | false |
| key | unique id of the sub menu | string | |
2017-01-20 20:10:50 +08:00
| title | title of the sub menu | string\|ReactNode | |
2017-04-03 14:42:28 +08:00
| children | sub menus or sub menu items | Array< MenuItem \|SubMenu > | |
2017-09-08 09:45:01 +08:00
| onTitleClick | callback executed when the sub menu title is clicked | function({ key, domEvent }) | |
2016-08-26 14:42:41 +08:00
2017-06-16 16:56:03 +08:00
### Menu.ItemGroup
2016-08-26 14:42:41 +08:00
| Param | Description | Type | Default value |
|----------|----------------|----------|--------------|
2017-01-20 20:10:50 +08:00
| title | title of the group | string\|ReactNode | |
2016-08-26 14:42:41 +08:00
| children | sub menu items | MenuItem[] | |
2016-11-15 14:12:25 +08:00
### Menu.Divider
2017-09-08 09:45:01 +08:00
Divider line in between menu items, only used in vertical popup Menu or Dropdown Menu.