>())
{
}
@@ -90,25 +90,19 @@
}
else if (ValuePresenter == ValuePresenter.ItemContent)
{
- if (SelectedListItem == null)
+ var selectedPresentationItem = GetSelectedPresentationItem();
+
+ if (selectedPresentationItem == null)
{
@Placeholder
-
}
else if (ItemTemplate != null)
{
- if (SelectedListItem != null && SelectedListItem.Value != null)
- {
- @ItemTemplate(SelectedListItem)
- }
- else if (!string.IsNullOrEmpty(Placeholder))
- {
- @Placeholder
- }
+ @ItemTemplate(selectedPresentationItem)
}
- else if (SelectedListItem.ChildContent != null)
+ else if (selectedPresentationItem.ChildContent != null)
{
- @SelectedListItem.ChildContent
+ @selectedPresentationItem.ChildContent
}
else
{
@@ -159,26 +153,15 @@
- @*The hidden list only materializes selected ItemCollection values. It keeps selected item components available for presenters without defeating virtualization.*@
-
-
-
-
- @ChildContent
-
+ @* Declarative child items are registered once as metadata so selected text/content is
+ available while the popover is closed. Collection-backed selects are value-driven and
+ do not need a hidden item tree. *@
+ @if (ItemCollection == null && ChildContent != null)
+ {
+
+ @ChildContent
-
-
-
-
-
- @ChildContent
-
+ }
diff --git a/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor.cs b/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor.cs
index 838e5710..baaefa11 100644
--- a/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor.cs
+++ b/src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor.cs
@@ -11,7 +11,7 @@ namespace MudExtensions
/// Select component with advanced features.
///