diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 9c83218bebf..10fe672570e 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@  - 10.3.1-beta05 + 10.3.1-beta06 diff --git a/src/BootstrapBlazor/Components/Select/Select.razor.cs b/src/BootstrapBlazor/Components/Select/Select.razor.cs index 4f641aadbf5..751cecd22a3 100644 --- a/src/BootstrapBlazor/Components/Select/Select.razor.cs +++ b/src/BootstrapBlazor/Components/Select/Select.razor.cs @@ -491,10 +491,14 @@ private async Task OnChange(ChangeEventArgs args) private SelectedItem? GetItemByRows() { + // 修复:使用完整的未过滤列表来查找当前选中项 + // 避免在用户搜索时被外部 StateHasChanged 影响导致值被错误修改 + var allItems = GetRowsByItems(); + var item = GetItemWithEnumValue() - ?? Rows.Find(i => i.Value == CurrentValueAsString) - ?? Rows.Find(i => i.Active) - ?? Rows.Find(i => !i.IsDisabled); + ?? allItems.Find(i => i.Value == CurrentValueAsString) + ?? allItems.Find(i => i.Active) + ?? allItems.Find(i => !i.IsDisabled); return item; } }