当前位置: 首页 > news >正文

监听键盘事件vue3封装hooks

监听页面键盘事件,执行对应方法

使用第三方API:vueuse

我封装的:

1. useKeyboardEvent.ts

import { useMagicKeys } from '@vueuse/core'export function enterKey(f: Function) {const { enter } = useMagicKeys()watch(enter, v => {if (v) {f()}})
}

2. 页面使用

import { enterKey } from '@/hooks/useKeyboardEvent'
enterKey(handleQuery)
function handleQuery() {...
}

前端大佬封装的:

1. useKeyboardEvent.ts

import { useMagicKeys, whenever } from '@vueuse/core'export function useKeys(keysMap: Record<string, Function>) {const magicKeys = useMagicKeys()Object.keys(keysMap).forEach(key => {whenever(magicKeys[key], () => keysMap[key]())})
}

2. 页面使用

import { useKeys } from '@/hooks/useKeyboardEvent'function handleQuery() {...
}
useKeys({ enter: handleQuery })

大佬封装的扩展性就很强,啥都不说了,膜拜大佬

http://www.lryc.cn/news/280728.html

相关文章:

  • Java Stream简化代码
  • py爬虫入门笔记(request.get的使用)
  • openssl3.2 - 官方demo学习 - encode - rsa_encode.c
  • Day03
  • adb 常用命令汇总
  • ubuntu 2022.04 安装vcs2018和verdi2018
  • 品牌推广与情绪价值的深度结合:市场大局下的新趋势与“准”原则
  • React16源码: React中的不同的expirationTime的源码实现
  • TRB 2024论文分享:基于生成对抗网络和Transformer模型的交通事件检测混合模型
  • Golang 打包
  • 力扣每日一练(24-1-14)
  • K 个一组翻转链表(链表反转,固定长度反转)(困难)
  • Spring Boot - 利用Resilience4j-RateLimiter进行流量控制和服务降级
  • 概率论与数理统计————1.随机事件与概率
  • 【生存技能】git操作
  • docker 将镜像打包为 tar 包
  • 341. 最优贸易(dp思想运用,spfa,最短路)
  • FineBI实战项目一(19):每小时订单笔数分析开发
  • What is `@RequestBody ` does?
  • Windows安装Rust环境(详细教程)
  • Marin说PCB之传输线损耗---趋肤效应和导体损耗01
  • 八:分布式锁
  • 示例:php将文本内容写入一个文件(面向过程写法)
  • Flutter开发进阶之并发操作数据库
  • docker应用:搭建uptime-kuma监控站点
  • 在illustrator中按大小尺寸选择物体 <脚本 018>
  • leetcode - 934. Shortest Bridge
  • k8s的存储卷、数据卷
  • 流星全自动网页生成系统重构版源码
  • vscode打开c_cpp_properties.json文件的一种方式