From 28d95fe5118f90dcc05c05b90020d27acd3fe811 Mon Sep 17 00:00:00 2001 From: Argo-AsicoTech Date: Mon, 4 Nov 2024 19:38:41 +0800 Subject: [PATCH] =?UTF-8?q?refactor(Select):=20=E5=8F=AF=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E9=87=8D=E6=9E=84=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Components/Select/Select.razor.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/BootstrapBlazor/Components/Select/Select.razor.cs b/src/BootstrapBlazor/Components/Select/Select.razor.cs index 3b86c9f7cef..928ea57d2b4 100644 --- a/src/BootstrapBlazor/Components/Select/Select.razor.cs +++ b/src/BootstrapBlazor/Components/Select/Select.razor.cs @@ -513,17 +513,21 @@ private async Task OnChange(ChangeEventArgs args) { if (args.Value is string v) { - // 判断是否为泛型 SelectedItem - var isGeneric = Items.GetType().GetGenericArguments().Length > 0; - // Items 中没有时插入一个 SelectedItem var item = Items.FirstOrDefault(i => i.Text == v); - TValue? val = default; if (item == null) { + // 判断是否为泛型 SelectedItem + var itemType = Items.GetType(); + var isGeneric = false; + if (itemType.IsGenericType) + { + isGeneric = itemType.GetGenericArguments()[0].IsGenericType; + } if (isGeneric) { + TValue? val = default; if (TextConvertToValueCallback != null) { val = await TextConvertToValueCallback(v); @@ -538,6 +542,7 @@ private async Task OnChange(ChangeEventArgs args) var items = new List() { item }; items.AddRange(Items); Items = items; + CurrentValueAsString = v; } if (item is SelectedItem value)