An Abp Blazor Theme based Ant-Design-Blazor
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

45 lines
1.1 KiB

@using Volo.Abp.UI.Navigation
@if (Menu != null)
{
var elementId = Menu.ElementId ?? "MenuItem_" + Menu.Name.Replace(".", "_");
var url = Menu.Url == null ? "#" : Menu.Url.TrimStart('/', '~');
if (Menu.IsLeaf && Menu.Url != null)
{
<MenuItem Id="@elementId" RouterLink="@url" Disabled="@Menu.IsDisabled">
@if (Menu.Icon != null)
{
<Icon Type="@Menu.Icon" Theme="outline"></Icon>
}
@Menu.Name
</MenuItem>
}
else
{
<SubMenu Title="@Menu.Name" TitleTemplate="@GetSubMenuTemplate()" Id="elementId">
@foreach (var menuItem in Menu.Items)
{
<MainMenuItem Menu="@menuItem"></MainMenuItem>
}
</SubMenu>
}
}
@code {
[Parameter]
public ApplicationMenuItem Menu { get; set; }
private RenderFragment GetSubMenuTemplate()
{
return @<span>
@if (Menu.Icon != null)
{
<Icon Type="@Menu.Icon" Theme="outline"></Icon>
}
<span>@Menu.Name</span>
</span>;
}
}