How to use Sub Menu in Blazor

How to use Sub Menu in Blazor:


NavMenu.razor:


<div class="top-row pl-4 navbar navbar-dark">
    <a class="navbar-brand" href="">Sub Menu Demo</a>
    <button class="navbar-toggler" @onclick="ToggleNavMenu">
        <span class="navbar-toggler-icon"></span>
    </button>
</div>

<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
    <ul class="nav flex-column">
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Home
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="counter">
                <span class="oi oi-plus" aria-hidden="true"></span> Counter
            </NavLink>
        </li>


        <li class="nav-item px-3">
            <NavLink class="nav-link" href="cart" @onclick="()=>expandSubMenu= !expandSubMenu">
                <span class="oi oi-cart" aria-hidden="true"></span> Cart
            </NavLink>
            @if (expandSubMenu)
            {
                <ul class="nav flex-column">
                    <li class="nav-item px-3">
                        <NavLink class="nav-link" href="cart/1">
                            <span class="oi oi-file" aria-hidden="true"></span> Sub-1
                        </NavLink>
                    </li>
                    <li class="nav-item px-3">
                        <NavLink class="nav-link" href="cart/2">
                            <span class="oi oi-bar-chart" aria-hidden="true"></span> Sub-1
                        </NavLink>
                    </li>
                </ul>
            }
        </li>


        <li class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
            </NavLink>
        </li>

    </ul>
</div>

@code {
    private bool collapseNavMenu = true;
    private bool expandSubMenu;//add

    private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;

    private void ToggleNavMenu()
    {
        collapseNavMenu = !collapseNavMenu;
    }
}


Dynamic Menu:

For Details please follow this video:
(Please Subscribe my Channel-AshProgHelp)
Load Menu & Sub Menu From Database in Blazor :
https://www.youtube.com/watch?v=aGn3oYAmj4w
How to use Sub Menu in Blazor:
https://www.youtube.com/watch?v=prz5kATC1Dg
Dapper CRUD in Blazor:

https://www.youtube.com/watch?v=nsZNCr7q4gE

Post a Comment

3 Comments

  1. Hi, here there is a little problem. When burger menu is visible, in mobile visibility, when you click on parent menu to access its childs, the main menu is collapsed before you can click on child item. If you expand the main menu again, you will see the parent menu expanded, so you can click on child, but in two steps.

    ReplyDelete
  2. Delete href="cart" and it works

    ReplyDelete