fix: bug with search box key listeners still active after close

This commit is contained in:
Andrew Bastin
2021-10-19 14:42:39 +05:30
parent aaff07bba2
commit 1c51f8b32e
3 changed files with 17 additions and 8 deletions

View File

@@ -56,7 +56,11 @@ const { bindArrowKeysListerners, unbindArrowKeysListerners, selectedEntry } =
stopPropagation: true,
})
onMounted(bindArrowKeysListerners)
onMounted(() => {
bindArrowKeysListerners()
})
onUnmounted(unbindArrowKeysListerners)
onUnmounted(() => {
unbindArrowKeysListerners()
})
</script>

View File

@@ -26,6 +26,7 @@
0% {
@apply opacity-0;
}
100% {
@apply opacity-100;
}

View File

@@ -23,7 +23,7 @@
"
/>
<AppFuse
v-if="search"
v-if="search && show"
:input="fuse"
:search="search"
@action="runAction"
@@ -58,12 +58,12 @@
</template>
<script setup lang="ts">
import { ref, computed, onUnmounted, onMounted } from "@nuxtjs/composition-api"
import { ref, computed, watch } from "@nuxtjs/composition-api"
import { HoppAction, invokeAction } from "~/helpers/actions"
import { spotlight as mappings, fuse } from "~/helpers/shortcuts"
import { useArrowKeysNavigation } from "~/helpers/powerSearchNavigation"
defineProps<{
const props = defineProps<{
show: boolean
}>()
@@ -95,7 +95,11 @@ const { bindArrowKeysListerners, unbindArrowKeysListerners, selectedEntry } =
onEnter: runAction,
})
onMounted(bindArrowKeysListerners)
onUnmounted(unbindArrowKeysListerners)
watch(
() => props.show,
(show) => {
if (show) bindArrowKeysListerners()
else unbindArrowKeysListerners()
}
)
</script>