Дочерний компонент не является родительским компонентом при использовании наследственного ключевого слова ⇐ C#

Место общения программистов C#
Anonymous
Дочерний компонент не является родительским компонентом при использовании наследственного ключевого слова

Сообщение Anonymous »

Я хочу повторно использовать всплывающее окно из базового компонента во многих детскихкомпонентах.
Следующий код работает.@if (IsPromptVisible)
{
I am Visible
}

@ChildContent

@code {
private bool _isPromptVisible;

[Parameter]
public RenderFragment? ChildContent { get; set; }

[Parameter]
public bool IsPromptVisible
{
get => _isPromptVisible;
set
{
_isPromptVisible = value;
StateHasChanged();
}
}
}

childcomponent.razor:
@page "/"
@rendermode InteractiveServer

Component A
Show
Hide


@code {
private bool _isPromptVisible;
private void Show() => _isPromptVisible = true;
private void Hide() => _isPromptVisible = false;
}
< /code>
Теперь я хочу использовать Bool Basecomponent, потому что я хочу сохранить дополнительную ломкость для каждого ребенка. Когда я наследуюсь от базового компонента, HTML базового компонента больше не вызывает представления о том, что я здесь делаю не так? :
basecomponent2.razor:
@if (IsPromptVisible)
{
I am Visible
}

@ChildContent

@code {
private bool _isPromptVisible;

[Parameter]
public RenderFragment? ChildContent { get; set; }

public bool IsPromptVisible
{
get => _isPromptVisible;
set
{
_isPromptVisible = value;
StateHasChanged();
}
}
}

ChildComponent2.razor:
@page "/2"
@rendermode InteractiveServer
@inherits BaseComponent

Component B
Show
Hide


@code {

private void Show()
{
IsPromptVisible = true;
StateHasChanged();
}
private void Hide()
{
IsPromptVisible = false;
StateHasChanged();
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... it-keyword

Вернуться в «C#»