mirror of
https://github.com/kevin-DL/build-gmail-clone-with-vue-3.git
synced 2026-01-14 11:54:41 +00:00
keydown abstracted to useKeydown
This commit is contained in:
20
src/composition/useKeydown.js
Normal file
20
src/composition/useKeydown.js
Normal file
@@ -0,0 +1,20 @@
|
||||
import { onMounted, onBeforeUnmount } from 'vue';
|
||||
|
||||
export const useKeydown = function(keyCombos) {
|
||||
keyCombos.forEach(({key, fn}) => {
|
||||
let onkey = function(event) {
|
||||
if(event.key == key) {
|
||||
fn()
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(()=> {
|
||||
window.addEventListener('keydown', onkey);
|
||||
})
|
||||
onBeforeUnmount(()=> {
|
||||
window.removeEventListener('keydown', onkey);
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
export default useKeydown;
|
||||
Reference in New Issue
Block a user