实现思路
- 在React组件中,通过
useEffect
钩子来监听键盘事件。
- 识别按下的是Ctrl(或Command)和S键组合,当组合键按下时执行保存操作。
- 在组件卸载时移除事件监听器,避免内存泄漏。
完整代码实现
import React, { useEffect } from 'react';
const TextInputWithSaveShortcut = () => {
useEffect(() => {
const handleKeyDown = (event) => {
const isCtrlOrCommand = event.ctrlKey || event.metaKey;
if (isCtrlOrCommand && event.key === 's') {
event.preventDefault();
console.log('保存成功');
}
};
document.addEventListener('keydown', handleKeyDown);
return () => {
document.removeEventListener('keydown', handleKeyDown);
};
}, []);
return <input type="text" placeholder="输入文本" />;
};
export default TextInputWithSaveShortcut;