Skip to content

Commit bfc3376

Browse files
committed
refactor: 精简代码
1 parent 1610882 commit bfc3376

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

src/components/BootstrapBlazor.Region/Components/SelectCity.razor.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public partial class SelectCity
5959
private string? GetActiveClass(string item) => CssBuilder.Default()
6060
.AddClass("active", _values.Contains(item) && IsMultiple)
6161
.AddClass("active", CurrentValue == item && !IsMultiple)
62-
.AddClass("prev", !string.IsNullOrEmpty(_searchText) && PinyinService.GetFirstLetters(item).StartsWith(_searchText))
62+
.AddClass("prev", !string.IsNullOrEmpty(_searchText) && StartsWith(PinyinService.GetFirstLetters(item), _searchText))
6363
.Build();
6464

6565
/// <summary>
@@ -168,7 +168,7 @@ private HashSet<string> GetProvinces()
168168
return Provinces;
169169
}
170170

171-
if (PinyinService.IsChinese(_searchText))
171+
if (PinyinService.ContainsChinese(_searchText))
172172
{
173173
return [.. Provinces.Where(i => i.Contains(_searchText) || GetCities(i).Any(city => city.Contains(_searchText)))];
174174
}
@@ -177,7 +177,10 @@ private HashSet<string> GetProvinces()
177177
}
178178

179179
[MethodImpl(MethodImplOptions.AggressiveInlining)]
180-
private static bool FilterProvince(ProvinceItem item, string searchText) => item.PinYin.StartsWith(searchText) || item.Cities.Any(city => city.PinYin.StartsWith(searchText));
180+
private static bool FilterProvince(ProvinceItem item, string searchText) => StartsWith(item.PinYin, searchText) || item.Cities.Any(city => StartsWith(city.PinYin, searchText));
181+
182+
[MethodImpl(MethodImplOptions.AggressiveInlining)]
183+
private static bool StartsWith(HashSet<string> source, string searchText) => source.Any(i => i.StartsWith(searchText, StringComparison.OrdinalIgnoreCase));
181184

182185
private static HashSet<ProvinceItem>? _provinceItems;
183186

0 commit comments

Comments
 (0)