Skip to content

Commit 4294a6b

Browse files
authored
SelectExtended: Fix Initialized Value Doesn't Show on Input When Multiselection & Virtualize (#583)
* SelectExtended: Fix Initialized Value Doesn't Show on Input When Multiselection & Virtualize * Add Docs Example
1 parent a51179a commit 4294a6b

File tree

4 files changed

+36
-3
lines changed

4 files changed

+36
-3
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
@namespace MudExtensions.Docs.Examples
2+
3+
<MudGrid>
4+
<MudItem xs="12" sm="8">
5+
<MudStack>
6+
<MudSelectExtended @bind-SelectedValues="@_values" Label="Select Overview" Virtualize="true" MultiSelection="_multiselection" Clearable="_clearable">
7+
<MudSelectItemExtended Value="@("Foo")" Text="Foo" />
8+
<MudSelectItemExtended Value="@("Bar")" Text="Bar" />
9+
<MudSelectItemExtended Value="@("Fizz")" Text="Fizz" />
10+
<MudSelectItemExtended Value="@("Buzz")" Text="Buzz" />
11+
</MudSelectExtended>
12+
<MudSelectExtended @bind-SelectedValues="@_values" Label="Data Based" ItemCollection="_collection" Virtualize="true" MultiSelection="_multiselection" Clearable="_clearable" />
13+
</MudStack>
14+
</MudItem>
15+
16+
<MudItem xs="12" sm="4">
17+
<MudStack Spacing="2">
18+
<MudSwitchM3 @bind-Value="_multiselection" Color="Color.Secondary" Label="Multiselection" />
19+
<MudSwitchM3 @bind-Value="_clearable" Color="Color.Secondary" Label="Clearable" />
20+
</MudStack>
21+
</MudItem>
22+
</MudGrid>
23+
24+
@code {
25+
private bool _multiselection = true;
26+
private bool _clearable = false;
27+
private string[] _collection = new string[] { "Foo", "Bar", "Fizz", "Buzz" };
28+
private IEnumerable<string?> _values = new List<string?>() { "Foo" };
29+
}

docs/CodeBeam.MudBlazor.Extensions.Docs/Pages/Components/SelectExtended/SelectExtendedPage.razor

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@
3333
<ExampleCard ComponentName="SelectExtended" ExampleName="SelectExtendedExample5" Title="Chips" Description="Chips can be used as value visualization.">
3434
<SelectExtendedExample5 />
3535
</ExampleCard>
36+
37+
<ExampleCard ComponentName="SelectExtended" ExampleName="SelectExtendedExample9" Title="Virtualization" Description="MudSelectExtended support virtualization with a native parameter.">
38+
<SelectExtendedExample9 />
39+
</ExampleCard>
3640

3741
<ExampleCard ComponentName="SelectExtended" ExampleName="SelectExtendedExample7" Title="Select All position" Description="Select All can be places next to search.">
3842
<SelectExtendedExample7 />

src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
<div style="display: none">
164164
<CascadingValue Value="@this" IsFixed="true">
165165
<MudListExtended T="T" @bind-SelectedValue:set="@SetValueAsync" @bind-SelectedValue:get="@ReadValue" @bind-SelectedValues="@SelectedValues" @bind-SelectedItem="@SelectedListItem" @bind-SelectedItems="@SelectedListItems"
166-
Clickable="true" Color="@Color" Dense="@Dense" ItemCollection="@ItemCollection" Virtualize="@Virtualize" Padding="@EnablePopoverPadding" EnableSelectedItemStyle="@EnableSelectedItemStyle"
166+
Clickable="true" Color="@Color" Dense="@Dense" ItemCollection="@ItemCollection" Padding="@EnablePopoverPadding" EnableSelectedItemStyle="@EnableSelectedItemStyle"
167167
MultiSelection="@MultiSelection" MultiSelectionComponent="@MultiSelectionComponent" MultiSelectionAlign="@MultiSelectionAlign" SelectAll="@SelectAll" SelectAllPosition="@SelectAllPosition" SelectAllText="@SelectAllText"
168168
CheckedIcon="@CheckedIcon" UncheckedIcon="@UncheckedIcon" IndeterminateIcon="@IndeterminateIcon" SelectValueOnTab="@SelectValueOnTab" Comparer="@Comparer" AddNullItem="@AddNullItem" AddedNullItemText="@AddedNullItemText"
169169
ItemTemplate="@ItemTemplate" ItemSelectedTemplate="@ItemSelectedTemplate" ItemDisabledTemplate="@ItemDisabledTemplate" SearchBox="@SearchBox" SearchBoxAutoFocus="@SearchBoxAutoFocus" SearchFunc="@SearchFunc" SearchBoxPlaceholder="@SearchBoxPlaceholder"

src/CodeBeam.MudBlazor.Extensions/Components/SelectExtended/MudSelectExtended.razor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -773,10 +773,10 @@ protected override void OnInitialized()
773773
{
774774
_selectedValues = new HashSet<T?>(_comparer) { ReadValue };
775775
}
776-
else if (MultiSelection && SelectedValues != null)
776+
else if (MultiSelection && SelectedValues != null && SelectedValues.Any())
777777
{
778778
// TODO: Check this line again
779-
SetValueAsync(SelectedValues.FirstOrDefault()).CatchAndLog();
779+
SetValueAndUpdateTextAsync(SelectedValues.FirstOrDefault()).CatchAndLog();
780780
}
781781
}
782782

0 commit comments

Comments
 (0)