UNPKG

@progress/kendo-layout-react-wrapper

Version:

Kendo UI Layout wrapper for React

176 lines (151 loc) 5.81 kB
--- title: Overview page_title: Overview - Menu - Kendo UI Wrappers for React description: "Get an overview of the features the Kendo UI Menu wrapper for React delivers and use the component in React projects." slug: overview_menu position: 1 --- # Menu Overview The Menu displays hierarchical data as a multi-level menu. It provides rich styling for unordered lists of items and can be used for both navigation and JavaScript commands. The Menu wrapper for React is a client-side wrapper for the [Kendo UI Menu](https://demos.telerik.com/kendo-ui/menu/index) widget. ## Basic Usage The following example demonstrates the Menu in action. ```jsx-preview class MenuContainer extends React.Component { render() { return ( <div id="example"> <h6> Menu </h6> <br/> <Menu> <MenuItem>Item 1</MenuItem> <MenuItem>Item 2</MenuItem> <MenuItem> Item 3 <SubMenu> <MenuItem>Item 3 1</MenuItem> <MenuItem> Item 3 2 <SubMenu> <MenuItem>Item 3 2 1</MenuItem> <MenuItem>Item 3 2 2</MenuItem> </SubMenu> </MenuItem> </SubMenu> </MenuItem> </Menu> <br/> <h6> ContextMenu </h6> <br/> <div id="target">Right-click me!</div> <ContextMenu target="#target" alignToAnchor={true}> <MenuItem> Item 1 <SubMenu> <MenuItem>Sub Item 1</MenuItem> <MenuItem>Sub Item 2</MenuItem> <MenuItem>Sub Item 3</MenuItem> </SubMenu> </MenuItem> <MenuItem> Item 2 <SubMenu> <MenuItem>Sub Item 1</MenuItem> <MenuItem>Sub Item 2</MenuItem> <MenuItem>Sub Item 3</MenuItem> </SubMenu> </MenuItem> </ContextMenu> </div> ); } } ReactDOM.render( <MenuContainer/>, document.querySelector('my-app') ); ``` ## Features and Functionalities * [Images]({% slug images_menu %}) * [Orientation]({% slug orientation_menu %}) * [Direction]({% slug direction_menu %}) * [Animation effects]({% slug animations_menu %}) * [Context menu]({% slug context_menu %}) ## Events The following example demonstrates basic Menu events. You can subscribe to [all Menu events](https://docs.telerik.com/kendo-ui/api/javascript/ui/menu#events) by the handler name. ```jsx class MenuContainer extends React.Component { constructor(props) { super(props); this.onActivate = this.onActivate.bind(this); this.onDeactivate = this.onDeactivate.bind(this); this.onOpen = this.onOpen.bind(this); this.onClose = this.onClose.bind(this); this.onSelect = this.onSelect.bind(this); } onActivate = (e) => { console.log("Activated: " + ($(e.item).children(".k-link").text() || "ContextMenu")); } onDeactivate = (e) => { console.log("Deactivated: " + ($(e.item).children(".k-link").text() || "ContextMenu")); } onOpen = (e) => { console.log("Opened: " + ($(e.item).children(".k-link").text() || "ContextMenu")); } onClose = (e) => { console.log("Closed: " + ($(e.item).children(".k-link").text() || "ContextMenu")); } onSelect = (e) => { console.log("Selected: " + $(e.item).children(".k-link").text()); } render() { return ( <div id="example"> <h4>Menu</h4> <Menu activate={this.onActivate} deactivate={this.onDeactivate} open={this.onOpen} close={this.onClose} select={this.onSelect} > <MenuItem> First Item <SubMenu> <MenuItem>Sub Item 1</MenuItem> <MenuItem>Sub Item 2</MenuItem> <MenuItem>Sub Item 3</MenuItem> <MenuItem>Sub Item 4</MenuItem> </SubMenu> </MenuItem> <MenuItem> Second Item <SubMenu> <MenuItem>Sub Item 1</MenuItem> <MenuItem>Sub Item 2</MenuItem> <MenuItem>Sub Item 3</MenuItem> <MenuItem>Sub Item 4</MenuItem> </SubMenu> </MenuItem> <MenuItem> Third Item <SubMenu> <MenuItem>Sub Item 1</MenuItem> <MenuItem>Sub Item 2</MenuItem> <MenuItem>Sub Item 3</MenuItem> <MenuItem>Sub Item 4</MenuItem> </SubMenu> </MenuItem> </Menu> <br/> <br/><br/><br/><br/> </div> ); } } ReactDOM.render( <MenuContainer/>, document.querySelector('my-app') ); ``` ## Suggested Links * [Kendo UI Menu for jQuery](https://docs.telerik.com/kendo-ui/controls/navigation/menu/overview) * [API Reference of the Menu Widget](https://docs.telerik.com/kendo-ui/api/javascript/ui/menu)