Когда я нажимаю на одну из трех кнопок (ярлык, поезд или фабрика) на моей странице Blazor, я хочу, чтобы область контента обновлялась так, как будто я переключал вкладки, без перезагрузки страницы. Тем не менее, это не работает: нажатие кнопок не меняет отображаемый контент. Даже когда я пытался с нативной кнопкой Mudblazor, ничего не происходит. Что может вызвать эту проблему? Возможно ли, что событие Click не обнаруживается? Горячая перезагрузка Visual Studio?
Вот код,
страница < /p>
@page "/"
@using Basil.Components.Buttons
@using MudBlazor
Project choice
@*
*@
Test Projet
@if (selectedTab == "raccourci")
{
Contenu Raccourci
}
else if (selectedTab == "projects")
{
Contenu Projets
}
else if (selectedTab == "site")
{
Contenu Site
}
@code {
private string selectedTab = "raccourci";
private void SelectTabRaccourci()
{
selectedTab = "raccourci";
StateHasChanged();
}
private void SelectTabProjects()
{
selectedTab = "projects";
StateHasChanged();
}
private void SelectTabSite()
{
selectedTab = "site";
StateHasChanged();
}
}
< /code>
и кнопка: < /p>
@using MudBlazor;
@if (IsVisible)
{
@if (MudBadgeContent > 0)
{
@Title
}
else
{
@Title
}
@((MarkupString)TooltipContent)
}
@code {
[Parameter]
public EventCallback OnClick { get; set; }
[Parameter]
public string TooltipContent { get; set; }
[Parameter]
public string Title { get; set; }
[Parameter]
public string Icon { get; set; }
[Parameter]
public bool AlignRight { get; set; } = false;
[Parameter]
public bool DisableAlign { get; set; } = false;
[Parameter]
public bool Disabled { get; set; } = false;
[Parameter]
public bool IsVisible { get; set; } = true;
[Parameter]
public int MudBadgeContent { get; set; } = 0;
[Parameter]
public Color Color { get; set; } = Color.Primary;
[Parameter]
public Color TooltipColor { get; set; } = Color.Default;
private bool PadLock { get; set; }
private string CssAlign => DisableAlign ? "inline" : AlignRight ? "right" : "left";
private async Task Clic()
{
PadLock = true;
StateHasChanged();
if (OnClick.HasDelegate)
{
await OnClick.InvokeAsync();
}
PadLock = false;
StateHasChanged();
}
}
< /code>
Скажите, если вам нужно что -нибудь еще.
ps: я не знаю C#, и я только начал Blazor. Это в интересах, так что я учусь почти у ни одного
Подробнее здесь: https://stackoverflow.com/questions/796 ... snt-change