diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index b420c7850d6..42e81f0df11 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@ - 9.4.2 + 9.4.3-beta01 diff --git a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs index 2833c259eca..e39b44e3e03 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs +++ b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.cs @@ -126,7 +126,7 @@ private async Task OnClickItem(string val) } } - private List Rows => _filterItems ?? Items.ToList(); + private List Rows => _filterItems ?? [.. Items]; /// /// TriggerFilter 方法 @@ -138,11 +138,11 @@ public override async Task TriggerFilter(string val) if (OnCustomFilter != null) { var items = await OnCustomFilter(val); - _filterItems = items.ToList(); + _filterItems = [.. items]; } else if (string.IsNullOrEmpty(val)) { - _filterItems = Items.ToList(); + _filterItems = [.. Items]; } else { @@ -150,12 +150,12 @@ public override async Task TriggerFilter(string val) var items = IsLikeMatch ? Items.Where(s => s.Contains(val, comparison)) : Items.Where(s => s.StartsWith(val, comparison)); - _filterItems = items.ToList(); + _filterItems = [.. items]; } if (DisplayCount != null) { - _filterItems = _filterItems.Take(DisplayCount.Value).ToList(); + _filterItems = [.. _filterItems.Take(DisplayCount.Value)]; } StateHasChanged(); } diff --git a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js index c544d05f5ad..875d30aeed4 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js +++ b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js @@ -107,7 +107,7 @@ export function init(id, invoke) { const handlerKeyup = (ac, e) => { const key = e.key; - const { el, input, menu } = ac; + const { el, input, invoke, menu } = ac; if (key === 'Enter' || key === 'NumpadEnter') { const skipEnter = el.getAttribute('data-bb-skip-enter') === 'true'; if (!skipEnter) { @@ -116,12 +116,14 @@ const handlerKeyup = (ac, e) => { el.triggerEnter = true; current.click(); } + invoke.invokeMethodAsync('EnterCallback', input.value); } } else if (key === 'Escape') { const skipEsc = el.getAttribute('data-bb-skip-esc') === 'true'; if (skipEsc === false) { EventHandler.trigger(menu, 'click'); + invoke.invokeMethodAsync('EscCallback'); } } else if (key === 'ArrowUp' || key === 'ArrowDown') {