如何全局使用键盘快捷键

问题描述 投票:2回答:1

我使用react-hotkeys库。

我有这个:

class App extends React.Component {
  ...
  render(){
     return <Page />
  };

}

class Page extends React.Component {
   ...
   render(){
     return <DataTable />
   };
}

class DataTable extends React.Component {
   ...
   shortCutsKeymap = {
      'MOVE_NEXT_PAGE': ['right'],
      'MOVE_PREV_PAGE': ['left']
   };

   handleShortCuts = {
      'MOVE_NEXT_PAGE': (event) => {console.log('next')},
      'MOVE_PREV_PAGE': (event) => {console.log('prev')},
   };

   render(){
      return (
         <HotKeys keyMap={this.shortCutsKeymap} handlers={this.handleShortCuts}>
            ...
         </HotKeys>
      );
   };
}

快捷方式仅在我单击数据表时起作用 - 也就是说,我设置了焦点。我需要键盘快捷键才能在我的应用程序中的任何位置工作,而无需单击数据表。

你能帮我吗?

reactjs keyboard-shortcuts
1个回答
0
投票

我没有使用你正在使用的软件包版本。我已经安装了版本react-hotkeys": "^2.0.0-pre3",它有一个GlobalHotKeys组件,你导出如下:

import { GlobalHotKeys } from 'react-hotkeys'

您可以像这样使用它:

<GlobalHotKeys keyMap={keyMap} handlers={handlers} />
© www.soinside.com 2019 - 2024. All rights reserved.