From 9d81097b4c54777c70265accaeee132f1767c9fc Mon Sep 17 00:00:00 2001 From: somnetsak123 Date: Tue, 28 Nov 2023 09:22:44 +0700 Subject: [PATCH] fix: esc exit formEdit --- Services/client/src/components/FileItem.vue | 7 ++--- Services/client/src/components/FromEdit.vue | 28 +++++++++++++++++-- Services/client/src/components/ListView.vue | 27 ++++++++++-------- Services/client/src/components/PageLayout.vue | 4 ++- 4 files changed, 47 insertions(+), 19 deletions(-) diff --git a/Services/client/src/components/FileItem.vue b/Services/client/src/components/FileItem.vue index 87eb06e..96d823b 100644 --- a/Services/client/src/components/FileItem.vue +++ b/Services/client/src/components/FileItem.vue @@ -91,11 +91,8 @@ async function handleSubmit() { class="inline-block" v-if="props.action && currentDept < 4" tabindex="0" - @keydown.esc=" - () => { - drawer = false - } - " + + >
-import { ref } from 'vue' +import { onMounted, onUnmounted, ref } from 'vue' import { useTreeDataStore } from '@/stores/tree-data' const { createFolder, editFolder } = useTreeDataStore() @@ -19,7 +19,22 @@ const props = withDefaults( drawerStatus: 'create', } ) -defineEmits(['update:drawer']) + +let isListenerAdded = false +const emit = defineEmits(['update:drawer']) +const handleClose = (event: any) => { + console.log('key close event') + if (event.key === 'Escape') { + emit('update:drawer') + } +} + +onMounted(() => { + if (!isListenerAdded) { + document.addEventListener('keyup', handleClose) + isListenerAdded = true + } +})