fix(header-search): selecting a result should reset the search

This commit is contained in:
Eric Liu 2020-11-26 14:29:16 -08:00
commit 2130c139f8

View file

@ -31,6 +31,12 @@
let refSearch = null;
function selectResult() {
active = false;
value = "";
dispatch("select", { value, selectedResultIndex, selectedResult });
}
$: if (active && ref) ref.focus();
$: selectedResult = results[selectedResultIndex];
$: selectedId = selectedResult
@ -211,9 +217,7 @@
on:keydown="{({ key }) => {
switch (key) {
case 'Enter':
active = false;
value = '';
dispatch('select', { value, selectedResultIndex, selectedResult });
selectResult();
break;
case 'ArrowDown':
if (selectedResultIndex === results.length - 1) {
@ -258,13 +262,7 @@
role="menuitem"
href="{result.href}"
class:selected="{selectedId === `search-menuitem-${i}`}"
on:click|preventDefault="{() => {
dispatch('select', {
value,
selectedResultIndex,
selectedResult,
});
}}"
on:click|preventDefault="{selectResult}"
>
<slot result="{result}">
{result.text}