diff --git a/src/BootstrapBlazor/BootstrapBlazor.csproj b/src/BootstrapBlazor/BootstrapBlazor.csproj index 29f4f841516..bb0bfa159e8 100644 --- a/src/BootstrapBlazor/BootstrapBlazor.csproj +++ b/src/BootstrapBlazor/BootstrapBlazor.csproj @@ -1,7 +1,7 @@  - 9.5.6-beta02 + 9.5.6-beta03 diff --git a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js index c47bdd9b52f..bc81ee89051 100644 --- a/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js +++ b/src/BootstrapBlazor/Components/AutoComplete/AutoComplete.razor.js @@ -41,17 +41,19 @@ export function init(id, invoke) { if (duration > 0) { ac.debounce = true EventHandler.on(input, 'keydown', debounce(e => { - handlerKeydown(ac, e); + handlerKeydown(e); }, duration, e => { return ['ArrowUp', 'ArrowDown', 'Escape', 'Enter', 'NumpadEnter'].indexOf(e.key) > -1 })) } else { EventHandler.on(input, 'keydown', e => { - handlerKeydown(ac, e); + handlerKeydown(e); }) } + EventHandler.on(input, 'keyup', e => handlerKeyup(ac, e)); + ac.triggerBlur = () => { el.classList.remove('show'); const triggerBlur = input.getAttribute('data-bb-blur') === 'true'; @@ -117,7 +119,7 @@ export function init(id, invoke) { }); } -const handlerKeydown = (ac, e) => { +const handlerKeyup = (ac, e) => { const key = e.key; const { el, input, invoke, menu } = ac; if (key === 'Enter' || key === 'NumpadEnter') { @@ -162,6 +164,9 @@ const handlerKeydown = (ac, e) => { invoke.invokeMethodAsync('TriggerDeleteCallback', input.value); } } +} + +const handlerKeydown = e => { if (e.key === 'Tab') { ac.triggerBlur(); } @@ -193,6 +198,7 @@ export function dispose(id) { } EventHandler.off(input, 'change'); EventHandler.off(input, 'keydown'); + EventHandler.off(input, 'keyup'); EventHandler.off(menu, 'click'); Input.dispose(input);