问题
I was creating simple razor component from existing html template. i want to make different conditions based on type of child given (from parameter)
i have existing MenuItem and AnotherMenuItem component
NavMenu.razor
<ul class="nav navbar-menu">
<li class="nav-label">@Title</li>
<!-- HOW TO CHECK ChildContent element type? -->
@if(ChildContent is MenuItem){
@ChildContent
}else if(ChildContent is AnotherMenuItem){
<div class="nav other-menu">
@ChildContent
</div>
}else{
}
</ul>
@code{
[Parameter]
string Title {set; get;}
[Parameter]
RenderFragment ChildContent {set;get;}
}
Home.razor
<body>
<NavMenu Title="Reports">
<MenuItem Title="Daily"/>
<MenuItem Title="Weekly"/>
<MenuItem Title="Monthly"/>
</NavMenu>
<NavMenu Title="Transaction">
<AnotherMenuItem Title="Hotels"/>
<AnotherMenuItem Title="Flights"/>
<AnotherMenuItem Title="Trains"/>
</NavMenu>
<NavMenu Title="Hello">
<div id="test"/>
</NavMenu>
</body>
but the ChildContent not reference to MenuItem or AnotherMenuItem. please help, thnx
来源:https://stackoverflow.com/questions/57570372/razor-how-to-determine-renderfragment-element-name