0
我正在使用react-keydown库将键盘快捷键添加到我的应用程序,但无法使其在内部对话框组件中工作。对话框并不总是可见的,但我期望这些按键在它们可见时工作。 我越来越对event_handlers.js._onKeyDown(事件)方法,但在缺失值:FN =未定义,而FN应该包含的装饰功能。使用react-keydown在内部组件中捕获keydown事件
我的组件看起来像:
<Container>
<MyDialog>
<material-ui-dialog/>
</MyDialog>
</Container>
Container.js:
import keydown from 'react-keydown'
class Container extends Component {
@keydown('enter')
someMethod1(){
// working
}
render() {
return (
<div>
<MyDialog/>
</div>
)
}
}
MyDialog.js:
import keydown, {keydownScoped} from 'react-keydown'
@keydown('enter')
class MyDialog extends Component {
@keydownScoped('enter')
someMethod3(){
// not working
}
}
什么是决定它是否可见的逻辑?另外,您是否可以确认在关注表单字段时没有尝试触发键控方法? – glortho
对话不总是可见的。这是一个确认对话框(其中包含材料ui对话框),由组件中的其他操作触发。组件中没有输入字段或文本区域,只有带有ok/cancel按钮的对话框。 – user1813302
即使不可见,它是否安装?问题可能在于,如果它已被挂载但隐藏,并且您单击或选择了对话框组件范围之外的组件,它的键绑定将不会响应。 – glortho