Try pressing the following:
1. Press ArrowUp by key to increase.
2. Press ArrowDown by keyCode to decrease.
count: 0
一个优雅的管理 keyup 和 keydown 键盘事件的 Hook,支持键盘组合键,定义键盘事件的 key 和 keyCode 别名输入 。
Api 与ahooks一致。
Try pressing the following: 1. Press ArrowUp by key to increase. 2. Press ArrowDown by keyCode to decrease. count: 0
Try pressing the following: lastPressedKey:
lastPressedKey:
useKeyPress(
keyFilter: KeyFilter,
eventHandler: EventHandler = noop,
options?: Options
)
Tips: keyType 为键盘事件中的 key 和 keyCode
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
keyFilter | 支持键盘事件中的 key 和 keyCode,支持回调方式返回 boolean 判断,支持别名使用 | keyType | Array<keyType> | ((event: KeyboardEvent) => boolean) | - |
eventHandler | 事件回调函数 | (event: KeyboardEvent) => void | () => {} |
options | 可选配置项,见 Options | - | - |
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
events | 触发事件 | Array<keydown | keyup> | ['keydown'] |
target | DOM 节点或者 Ref 对象 | (() => HTMLElement) | HTMLElement | React.MutableRefObject | - |
1.全部的按键别名
enter
tab
delete (捕获“删除”和“退格”键)
esc
space
up
down
left
right
2.修饰键
ctrl;
alt;
shift;
meta;