Skip to content

Commit 488695e

Browse files
committed
refactor: 更新内部逻辑
1 parent 7647103 commit 488695e

File tree

2 files changed

+9
-12
lines changed

2 files changed

+9
-12
lines changed

src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<span class="form-select-append"><i class="@Icon"></i></span>
1818
<span class="form-select-append ac-loading"><i class="@LoadingIcon"></i></span>
1919
<ul class="dropdown-menu">
20-
@foreach (var item in Rows)
20+
@foreach (var item in _filterItems)
2121
{
2222
<li @key="item" class="dropdown-item" @onclick="() => OnClickItem(item)">
2323
@if (ItemTemplate == null)
@@ -30,7 +30,7 @@
3030
}
3131
</li>
3232
}
33-
@if (ShowNoDataTip && Rows.Count == 0)
33+
@if (ShowNoDataTip && _filterItems.Count == 0)
3434
{
3535
<li class="dropdown-item">@NoDataTip</li>
3636
}

src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,7 @@ public partial class AutoComplete
9090
/// <summary>
9191
/// 获得/设置 UI 呈现数据集合
9292
/// </summary>
93-
[NotNull]
94-
private List<string>? FilterItems { get; set; }
93+
private List<string>? _filterItems;
9594

9695
/// <summary>
9796
/// <inheritdoc/>
@@ -110,12 +109,12 @@ protected override void OnParametersSet()
110109
{
111110
base.OnParametersSet();
112111

112+
Icon ??= IconTheme.GetIconByKey(ComponentIcons.AutoCompleteIcon);
113113
LoadingIcon ??= IconTheme.GetIconByKey(ComponentIcons.LoadingIcon);
114114
NoDataTip ??= Localizer[nameof(NoDataTip)];
115115
PlaceHolder ??= Localizer[nameof(PlaceHolder)];
116-
Icon ??= IconTheme.GetIconByKey(ComponentIcons.AutoCompleteIcon);
117116

118-
Items ??= [];
117+
_filterItems ??= Items?.ToList() ?? [];
119118
}
120119

121120
/// <summary>
@@ -130,8 +129,6 @@ private async Task OnClickItem(string val)
130129
}
131130
}
132131

133-
private List<string> Rows => FilterItems ?? Items.ToList();
134-
135132
/// <summary>
136133
/// TriggerFilter 方法
137134
/// </summary>
@@ -142,24 +139,24 @@ public async Task TriggerFilter(string val)
142139
if (OnCustomFilter != null)
143140
{
144141
var items = await OnCustomFilter(val);
145-
FilterItems = items.ToList();
142+
_filterItems = items.ToList();
146143
}
147144
else if (string.IsNullOrEmpty(val))
148145
{
149-
FilterItems = Items.ToList();
146+
_filterItems = Items.ToList();
150147
}
151148
else
152149
{
153150
var comparison = IgnoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal;
154151
var items = IsLikeMatch
155152
? Items.Where(s => s.Contains(val, comparison))
156153
: Items.Where(s => s.StartsWith(val, comparison));
157-
FilterItems = items.ToList();
154+
_filterItems = items.ToList();
158155
}
159156

160157
if (DisplayCount != null)
161158
{
162-
FilterItems = FilterItems.Take(DisplayCount.Value).ToList();
159+
_filterItems = _filterItems.Take(DisplayCount.Value).ToList();
163160
}
164161
StateHasChanged();
165162
}

0 commit comments

Comments
 (0)