React UI Components Documentation
ReactJS Menu Component
The Menu component for ReactJS represents a menu widget that makes it easy to add menus to your website or web application.
Prerequisites
Refer to ReactJS Getting Started before you start with this help topic.
Configuration
The Menu component for ReactJS requires the following imports.
import React from 'react';import ReactDOM from 'react-dom'; import JqxMenu from 'jqwidgets-react/react_jqxmenu.js';
Then we create our component class. Properties and methods are put as ReactJS props.
class App extends React.Component { render () { return ( <jqxMenu width={220} height={22} autoOpen={true}> <ul> <li><a href="#Home">Home</a></li> <li> Solutions <ul style={{ width: 250 }}> <li><a href="#Education">Education</a></li> <li><a href="#Financial">Financial services</a></li> <li><a href="#Government">Government</a></li> <li><a href="#Manufacturing">Manufacturing</a></li> <li type='separator'></li> <li><a href="#">All industries and solutions</a></li> </ul> </li> <li> Products <ul> <li><a href="#PCProducts">PC products</a></li> <li><a href="#MobileProducts">Mobile products</a></li> <li><a href="#AllProducts">All products</a></li> </ul> </li> </ul> </jqxMenu> ) }}
Finally we render our class in the desired HTML element:
ReactDOM.render(<App />, document.getElementById('app'));
Events Methods & Properties
In order to bind to any event, change any property or call any method, we need a reference to the component.
For that we use the ReactJS "ref" Callback Attribute:
<JqxMenu ref='myMenu' width={220} height={22}..... />
Now, when we have a reference, we need to call the desired event/property/method.
This is done in the componentDidMount() ReactJS Component Lifecycle method.
class App extends React.Component { componentDidMount() { //your logic } render () { return ( .... ) }};
Events
The closed event is triggered when any of the Menu Sub Menus is closed.
The following example demonstrates how to add an event listener:
componentDidMount (){ this.refs.myMenu.on('closed', (event) => { //your logic }); }
Methods & Properties
This is how you call methods & props:
Every component have a method setOptions which accepts a object as an argument. This object contains component settings.
this.refs.myMenu.setOptions({ minimizeWidth: 250, width: 200, height: 20})
Every component also have a method getOptions which returns a object containing the component settings.
Menu Examples
Overview
The following example demonstrates how to create a Menu component.
import React from 'react';import ReactDOM from 'react-dom'; import JqxMenu from 'jqwidgets-react/react_jqxmenu.js'; class App extends React.Component { render () { return ( <jqxMenu width={220} height={22} autoOpen={true}> <ul> <li><a href="#Home">Home</a></li> <li> Solutions <ul style={{ width: 250 }}> <li><a href="#Education">Education</a></li> <li><a href="#Financial">Financial services</a></li> <li><a href="#Government">Government</a></li> <li><a href="#Manufacturing">Manufacturing</a></li> <li type='separator'></li> <li><a href="#">All industries and solutions</a></li> </ul> </li> <li> Products <ul> <li><a href="#PCProducts">PC products</a></li> <li><a href="#MobileProducts">Mobile products</a></li> <li><a href="#AllProducts">All products</a></li> </ul> </li> </ul> </jqxMenu> ) }} ReactDOM.render(<App />, document.getElementById('app'));
Disabled Menu
The following example demonstrates how to disable the Menu component.