停止从其他 keydown 处理程序传播 Material UI TextField 事件

Jas*_*ges 5 javascript events reactjs material-ui

在我的 React 应用程序中,我无法停止从 Material UI TextField 传播键盘事件。

问题示例 -backspace在我的创作环境中按下文本字段内的键会触发删除操作。

关于 Material UI 组件的更改:

<TextField onChange={handleChange} />
Run Code Online (Sandbox Code Playgroud)

我尝试停止传播:

<TextField onChange={handleChange} />
Run Code Online (Sandbox Code Playgroud)

但这并不能阻止我的其他事件侦听器触发:

const handleChange = event => {
  event.stopPropagation();
  // ...
};
Run Code Online (Sandbox Code Playgroud)

最终没什么大不了的,因为我可以将 keydown 监听器的范围从它想要使用的元素更改documentcanvas它想要使用的元素,但很好奇这里是否有建议。

小智 0

onKeyDown我遇到了同样的问题,我通过在 TextField 标记中添加以下事件来修复它。

<TextField onChange={handleChange} onKeyDown={e=>{ e.stopPropagation()}} />
Run Code Online (Sandbox Code Playgroud)