Open and close contextmenu in React Context menu component

29 Aug 20234 minutes to read

ContextMenu can be opened and closed programmatically whenever required by using open and close methods.

In the following example, the ContextMenu is opened using the open method at the specified position using top and left. Also, ContextMenu is closed using close method on ContextMenu item click or document click.

import { enableRipple } from '@syncfusion/ej2-base';
import { ButtonComponent } from '@syncfusion/ej2-react-buttons';
import { ContextMenuComponent } from '@syncfusion/ej2-react-navigations';
import * as React from 'react';
import * as ReactDom from 'react-dom';
enableRipple(true);
function App() {
    let cMenu;
    let menuItems = [
        {
            text: 'Cut'
        },
        {
            text: 'Copy'
        },
        {
            text: 'Paste'
        }
    ];
    function btnClick() {
        cMenu.open(40, 20);
    }
    return (<div className="container">
            <ContextMenuComponent id='contextmenu' ref={(scope) => cMenu = scope} items={menuItems}/>
            <ButtonComponent onClick={btnClick}>Open ContextMenu</ButtonComponent>
        </div>);
}
export default App;
ReactDom.render(<App />, document.getElementById('element'));
import { enableRipple } from '@syncfusion/ej2-base';
import { ButtonComponent } from '@syncfusion/ej2-react-buttons';
import { ContextMenuComponent, MenuItemModel } from '@syncfusion/ej2-react-navigations';
import * as React from 'react';
import * as ReactDom from 'react-dom';

enableRipple(true);

function App() {
    let cMenu: ContextMenuComponent;
    let menuItems: MenuItemModel[] = [
        {
            text: 'Cut'
        },
        {
            text: 'Copy'
        },
        {
            text: 'Paste'
        }
    ];

    function btnClick(): void {
        cMenu.open(40, 20);
    }

    return (
        <div className="container">
            <ContextMenuComponent id='contextmenu' ref={(scope) => cMenu = scope as ContextMenuComponent} items={menuItems} />
            <ButtonComponent onClick={btnClick}>Open ContextMenu</ButtonComponent>
        </div>
    );
}
export default App;
ReactDom.render(<App />,document.getElementById('element'));