Skip to content

Commit 2069cf3

Browse files
committed
refactor: 增加 LookupService 支持
1 parent 2578bb4 commit 2069cf3

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

src/BootstrapBlazor/Components/Select/Select.razor.cs

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,10 @@ private SelectedItem? SelectedRow
284284
private List<SelectedItem> GetRowsByItems()
285285
{
286286
var items = new List<SelectedItem>();
287-
items.AddRange(Items);
287+
if (Items != null)
288+
{
289+
items.AddRange(Items);
290+
}
288291
items.AddRange(_children);
289292
return items;
290293
}
@@ -306,11 +309,20 @@ protected override void OnParametersSet()
306309
{
307310
base.OnParametersSet();
308311

309-
Items ??= [];
310312
PlaceHolder ??= Localizer[nameof(PlaceHolder)];
311313
NoSearchDataText ??= Localizer[nameof(NoSearchDataText)];
312314
DropdownIcon ??= IconTheme.GetIconByKey(ComponentIcons.SelectDropdownIcon);
313315
ClearIcon ??= IconTheme.GetIconByKey(ComponentIcons.SelectClearIcon);
316+
}
317+
318+
/// <summary>
319+
/// <inheritdoc/>
320+
/// </summary>
321+
protected override async Task OnParametersSetAsync()
322+
{
323+
await base.OnParametersSetAsync();
324+
325+
Items ??= await GetItemsAsync();
314326

315327
// 内置对枚举类型的支持
316328
if (!Items.Any() && ValueType.IsEnum())
@@ -338,6 +350,16 @@ protected override async Task OnAfterRenderAsync(bool firstRender)
338350
}
339351
}
340352

353+
private async Task<IEnumerable<SelectedItem>> GetItemsAsync()
354+
{
355+
IEnumerable<SelectedItem>? items = null;
356+
if (LookupService != null)
357+
{
358+
items = await LookupService.GetItemsByKeyAsync(LookupServiceKey, LookupServiceData);
359+
}
360+
return items ?? [];
361+
}
362+
341363
/// <summary>
342364
/// 获得/设置 数据总条目
343365
/// </summary>

0 commit comments

Comments
 (0)