有没有办法在 Blazor 中隐藏 div?

XDb*_*boy 3 html javascript css visual-studio blazor

我正在使用 Blazor,并且想在按下导航栏切换器图标时隐藏侧边栏。列表项崩溃了,但问题是 div 仍然存在。

    <div class="page">
    <div class="sidebar">
        <div class="nav-top-row pl-4 navbar navbar-dark">
            <button class="navbar-toggler" @onclick="CheckCollapse">
                <span class="navbar-toggler-icon"></span>
            </button>
            <a class="navbar-brand" href="">NavBar</a>
        </div>

        <div class="@NavMenuCssClass">
            <ul class="nav flex-column">
                <li class="nav-item px-0">
                    <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-0">
                    <NavLink class="nav-link" href="counter">
                        <span class="oi oi-plus" aria-hidden="true"></span> Counter
                    </NavLink>
                </li>
                <li class="nav-item px-0">
                    <NavLink class="nav-link" href="fetchdata">
                        <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
                    </NavLink>
                </li>
            </ul>
        </div>
    </div>

    <div class="main">
        <div class="top-row px-4">
            <a href="https://learn.microsoft.com/aspnet/" target="_blank">About</a>
        </div>

        <div class="content px-4">
            @Body
        </div>
    </div>
</div>

@code {
    private bool collapseNavMenu = false;

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

    private void CheckCollapse()
    {
        collapseNavMenu = !collapseNavMenu;
    }
}
Run Code Online (Sandbox Code Playgroud)

Hen*_*man 5

这比你想象的要容易。

@if(!collapseNavMenu)
{
    <div class="sidebar">
      ... as before
    </div>
}
Run Code Online (Sandbox Code Playgroud)