useKeyPress
此 hook 可讓您監聽特定的按鍵碼,並告知您目前是否已按下這些按鍵。
import { useKeyPress } from '@xyflow/react';
export default function () {
const spacePressed = useKeyPress('Space');
const cmdAndSPressed = useKeyPress(['Meta+s', 'Strg+s']);
return (
<div>
{spacePressed && <p>Space pressed!</p>}
{cmdAndSPressed && <p>Cmd + S pressed!</p>}
</div>
);
}
簽名
名稱 | 類型 | 預設值 |
---|---|---|
# keyCode | 字串 | 字串[] | null 可以使用字串來表示單一按鍵碼(例如 "Space"),或是按鍵組合(例如 "Meta+s")。如果您傳入字串陣列,則可以使用多個按鍵碼來切換 hook。 |
|
# options | 物件 |
|
# options.target | Window | Document | HTMLElement | ShadowRoot | null 您可能希望監聽特定元素上的按鍵按下。此欄位可讓您設定此功能! |
|
# options.actInsideInputWithModifier | 布林值 您可以使用此旗標來防止在輸入欄位取得焦點時觸發按鍵按下 hook。 |
|
#傳回值 |
|
|
布林值 |
|
注意事項
- 此 hook 不依賴
ReactFlowInstance
,因此您可以自由地在應用程式中的任何位置使用它!