【发布时间】:2020-09-21 15:59:45
【问题描述】:
我有这个按钮,我可以单击它来打印文档。但问题是我认为它保持焦点,如果我错误地按下回车键,它会再次打印它{基本上按钮再次按下回车键。我已经在使用 e.preventDefault() 所以我不知道它为什么这样做。是否可以消除这种行为?
基本上我只希望 handleOrderPrint() 在点击时运行,而不是在按下 Enter 键时运行。
<Button onClick={e => handleOrderPrint(e)} type="primary">Print</Button>}
const handleOrderPrint = (e: any) => {
e.preventDefault();
ipcRenderer.send('generatePickingDocs', order);
setPrinted(true);
};
编辑----------------> 已经试过了:
const btnEl = React.useRef(null);
const handleOrderPrint = (e: any) => {
e.preventDefault();
if (e.keyCode !== 13) {
console.log("Keycode", e.keyCode);
ipcRenderer.send('generatePickingDocs', order);
setPrinted(true);
}
};
<Button ref={btnEl} onClick={e => handleOrderPrint(e)} type="primary">Print</Button>
【问题讨论】:
-
也许您应该在其事件处理程序中禁用该按钮,或者将焦点移至另一个控件。
标签: javascript reactjs