New to KendoReactStart a free 30-day trial

MenuProps

Interface

The properties of the KendoReact Menu component.

Definition

Package:@progress/kendo-react-layout

Properties

animate?

boolean | PopupAnimation

Controls the Popup animation.

Default:

true

Example:
jsx
<Menu animate={{ openDuration: 200, closeDuration: 200 }} />

children?

ReactNode

Sets the Menu items declaratively.

Example:
jsx
<Menu>
  <MenuItem text="Item 1" />
  <MenuItem text="Item 2" />
</Menu>

Adds a custom className to the Menu top element.

Example:
jsx
<Menu className="custom-menu" />

Sets the ids of the Menu items that will not be closed on mouse-leave. The ids are hierarchical and zero-based. The first root item has a 0 id. If the first root item has children, the first child item acquires a 0_0 id and the second acquires a 0_1 id.

Example:
jsx
<Menu customCloseItemIds={['0', '0_1']} />

dir?

string

Sets the direction of the Menu.

Example:
jsx
<Menu dir="rtl" />

Specifies the delay in milliseconds before the Menu items are closed on item mouse-leave (see example).

Default:

100

Example:
jsx
<Menu hoverCloseDelay={200} />

Specifies the delay in milliseconds before the Menu items are closed on item mouse-leave (see example). Used to avoid accidental closure on leaving.

Default:

100

Example:
jsx
<Menu hoverOpenDelay={200} />

id?

string

Sets the ID of the Menu.

Example:
jsx
<Menu id="custom-menu" />

A React functional or class component which is used for rendering the innermost part of the Menu item (see example). By default, the innermost item part includes only the text for the item.

Example:
jsx
const CustomItem = (props) => <div>{props.text}</div>;
<Menu itemRender={CustomItem} />

Sets the Menu items.

Example:
jsx
const items = [{ text: 'Item 1' }, { text: 'Item 2' }];
<Menu items={items} />

A React functional or class component which is used for rendering the link of the item (see example). The item link is a part of the visual representation of the item which, by default, includes an arrow, icon, and text.

Example:
jsx
const CustomLink = (props) => <a href={props.href}>{props.text}</a>;
<Menu linkRender={CustomLink} />

onClose?

(event: MenuCloseEvent) => void

Fires when a Menu item is closed.

Parameters:eventMenuCloseEvent
Example:
jsx
<Menu onClose={(event) => console.log('Item closed:', event.item.text)} />

onSelect?

(event: MenuSelectEvent) => void

Fires when a Menu item is selected.

Parameters:eventMenuSelectEvent
Example:
jsx
<Menu onSelect={(event) => console.log(event.item.text)} />

If openOnClick is set to true, the items are opened on mouse hover only after an initial click.

Default:

false

Example:
jsx
<Menu openOnClick />

style?

CSSProperties

Sets additional CSS styles to the Menu.

Example:
jsx
<Menu style={{ backgroundColor: 'lightblue' }} />

vertical?

boolean

Specifies whether the Menu will be vertical (see example).

Default:

false

Example:
jsx
<Menu vertical />

webMcp?

boolean | WebMcpProps

Enables Web MCP tool registration for this component. Requires a parent WebMcpProvider from @progress/kendo-react-webmcp.