Skip to content

Commit 786b2c1

Browse files
authored
fix(MultiselectGeneric): two-way binding not working (#6370)
* refactor: 移除 EditSubmitKeyString 字符串 * refactor: 格式化代码 * fix: 增加选中值与 Value 同步机制 * chore: bump version 9.8.1-beta02
1 parent 20a6444 commit 786b2c1

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

src/BootstrapBlazor/BootstrapBlazor.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk.Razor">
22

33
<PropertyGroup>
4-
<Version>9.8.1-beta01</Version>
4+
<Version>9.8.1-beta02</Version>
55
</PropertyGroup>
66

77
<ItemGroup>

src/BootstrapBlazor/Components/SelectGeneric/MultiSelectGeneric.razor.cs

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ public partial class MultiSelectGeneric<TValue>
2424
.AddClass("is-fixed-toolbar", ShowToolbar)
2525
.Build();
2626

27-
private string? EditSubmitKeyString => EditSubmitKey == EditSubmitKey.Space ? EditSubmitKey.ToDescriptionString() : null;
28-
2927
private string? ToggleClassString => CssBuilder.Default("dropdown-toggle scroll")
3028
.AddClass($"border-{Color.ToDescriptionString()}", Color != Color.None && !IsDisabled)
3129
.AddClass("is-fixed", IsFixedHeight)
@@ -197,7 +195,9 @@ public partial class MultiSelectGeneric<TValue>
197195

198196
private string? PlaceholderString => SelectedItems.Count == 0 ? PlaceHolder : null;
199197

200-
private string? ScrollIntoViewBehaviorString => ScrollIntoViewBehavior == ScrollIntoViewBehavior.Smooth ? null : ScrollIntoViewBehavior.ToDescriptionString();
198+
private string? ScrollIntoViewBehaviorString => ScrollIntoViewBehavior == ScrollIntoViewBehavior.Smooth
199+
? null
200+
: ScrollIntoViewBehavior.ToDescriptionString();
201201

202202
[NotNull]
203203
private Virtualize<SelectedItem<TValue>>? _virtualizeElement = default;
@@ -224,6 +224,11 @@ protected override void OnParametersSet()
224224
ResetRules();
225225

226226
_itemsCache = null;
227+
228+
if (IsVirtualize == false)
229+
{
230+
ResetSelectedItems();
231+
}
227232
}
228233

229234
/// <summary>
@@ -514,4 +519,20 @@ protected override void OnValidate(bool? valid)
514519
Color = valid.Value ? Color.Success : Color.Danger;
515520
}
516521
}
522+
523+
private void ResetSelectedItems()
524+
{
525+
SelectedItems.Clear();
526+
if (Value != null)
527+
{
528+
foreach (var v in Value)
529+
{
530+
var item = Rows.Find(i => Equals(i.Value, v));
531+
if (item != null)
532+
{
533+
SelectedItems.Add(item);
534+
}
535+
}
536+
}
537+
}
517538
}

0 commit comments

Comments
 (0)