Skip to content

Commit 31cd9ab

Browse files
committed
feat: Message 添加keydown事件 按下esc清除Message
1 parent af75998 commit 31cd9ab

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

src/lib/message/src/message.vue

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
</template>
6767

6868
<script setup lang="ts">
69-
import { ref, onMounted, computed } from "vue";
69+
import { ref, onMounted, computed, onUnmounted } from "vue";
7070
import { messageProps, messageEmits } from "./message";
7171
import JwIcon from "@/lib/icon/index.vue";
7272
import { Info24Filled } from "@vicons/fluent";
@@ -101,9 +101,26 @@ function close() {
101101
visible.value = false;
102102
}
103103
104+
function keydown({ code }: KeyboardEvent) {
105+
if (code === "Escape") {
106+
// press esc to close the message
107+
if (visible.value) {
108+
close();
109+
}
110+
} else {
111+
startTimer(); // resume timer
112+
}
113+
}
114+
104115
onMounted(() => {
105116
startTimer();
106117
visible.value = true;
118+
119+
document.addEventListener("keydown", keydown);
120+
});
121+
122+
onUnmounted(() => {
123+
document.removeEventListener("keydown", keydown);
107124
});
108125
</script>
109126
<script lang="ts">

0 commit comments

Comments
 (0)