Я хочу повторно использовать всплывающее окно из базового компонента во многих детскихкомпонентах.
Следующий код работает.@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#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение