diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 638733349aa..279bf2ebbf3 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@  - 9.5.6 + 9.5.7-beta01 diff --git a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js index 7765437916d..33efe4cd3ce 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js +++ b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js @@ -62,14 +62,23 @@ export function init(id, invoke) { } }); - Input.composition(input, async v => { + let filterDuration = duration; + if (filterDuration === 0) { + filterDuration = 200; + } + const filterCallback = debounce(async v => { + await invoke.invokeMethodAsync('TriggerFilter', v); + el.classList.remove('is-loading'); + }, filterDuration); + + Input.composition(input, v => { if (isPopover === false) { ac.show(); } el.classList.add('is-loading'); - await invoke.invokeMethodAsync('TriggerFilter', v); - el.classList.remove('is-loading'); + filterCallback(v); + }); ac.show = () => { diff --git a/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor b/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor index 43dd1bdd884..eb6c2ee22eb 100644 --- a/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor +++ b/src/BootstrapBlazor/Components/AutoFill/AutoFill.razor @@ -14,7 +14,7 @@ data-bb-auto-dropdown-focus="@ShowDropdownListOnFocusString" data-bb-debounce="@DurationString" data-bb-skip-esc="@SkipEscString" data-bb-skip-enter="@SkipEnterString" data-bb-scroll-behavior="@ScrollIntoViewBehaviorString" - value="@_displayText" + @bind="@_displayText" placeholder="@PlaceHolder" disabled="@Disabled" @ref="FocusElement" /> @@ -22,7 +22,14 @@ { } - + +@code { + RenderFragment RenderDropdown => + @ - + ; -@code { RenderFragment RenderRow => item => @