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.
39 lines
751 B
39 lines
751 B
@using BlazorSample.UIInterfaces
|
|
|
|
<!-- Display the tab headers -->
|
|
|
|
<CascadingValue Value=this>
|
|
<ul class="nav nav-tabs">
|
|
@ChildContent
|
|
</ul>
|
|
</CascadingValue>
|
|
|
|
<!-- Display body for only the active tab -->
|
|
|
|
<div class="nav-tabs-body p-4">
|
|
@ActiveTab?.ChildContent
|
|
</div>
|
|
|
|
@code {
|
|
[Parameter]
|
|
public RenderFragment ChildContent { get; set; }
|
|
|
|
public ITab ActiveTab { get; private set; }
|
|
|
|
public void AddTab(ITab tab)
|
|
{
|
|
if (ActiveTab == null)
|
|
{
|
|
SetActiveTab(tab);
|
|
}
|
|
}
|
|
|
|
public void SetActiveTab(ITab tab)
|
|
{
|
|
if (ActiveTab != tab)
|
|
{
|
|
ActiveTab = tab;
|
|
StateHasChanged();
|
|
}
|
|
}
|
|
} |