Customize Menu Bar Using Events in Blazor Menu Bar Component
21 Jul 20223 minutes to read
The Menu Bar provides a set of events to enable users to customize it.
The available events are OnOpen, OnClose, Closed, Opened, and ItemSelected.
@using Syncfusion.Blazor.Navigations
<SfMenu TValue="MenuItem">
<MenuItems>
<MenuItem Text="File">
<MenuItems>
<MenuItem Text="Open"></MenuItem>
<MenuItem Text="Save"></MenuItem>
<MenuItem Text="Exit"></MenuItem>
</MenuItems>
</MenuItem>
<MenuItem Text="Edit">
<MenuItems>
<MenuItem Text="Cut"></MenuItem>
<MenuItem Text="Copy"></MenuItem>
<MenuItem Text="Paste"></MenuItem>
</MenuItems>
</MenuItem>
<MenuItem Text="View">
<MenuItems>
<MenuItem Text="Toolbars"></MenuItem>
<MenuItem Text="Zoomr"></MenuItem>
<MenuItem Text="Full Screen"></MenuItem>
</MenuItems>
</MenuItem>
<MenuItem Text="Tools">
<MenuItems>
<MenuItem Text="Spelling & Grammar"></MenuItem>
<MenuItem Text="Customize"></MenuItem>
<MenuItem Text="Options"></MenuItem>
</MenuItems>
</MenuItem>
<MenuItem Text="Go"></MenuItem>
<MenuItem Text="Help"></MenuItem>
</MenuItems>
<MenuEvents TValue="MenuItem" OnOpen="onOpen" OnClose="onClose" Opened="opened" Closed="closed" ItemSelected="itemSelected"></MenuEvents>
</SfMenu>
<div id="preview">@eventName Event Triggered</div>
@code{
private string eventName = "No";
private void onOpen()
{
this.eventName = "OnOpen";
}
private void onClose()
{
this.eventName = "OnClose";
}
private void opened()
{
this.eventName = "Opened";
}
private void closed()
{
this.eventName = "Closed";
}
private void itemSelected(MenuEventArgs<MenuItem> args)
{
//Selected menu item
var selectedItem = args.Item.Text;
this.eventName = "ItemSelected";
}
}
<style>
#preview {
float: right;
padding: 0 350px 0 0;
}
</style>