我正在尝试使用 Material-UI DataGrid。我想在表格的一列内使用一个按钮。这个按钮必须是一个带有表单的模态。当我这样做时,我注意到我可以在表单输入中输入,但我不能用删除键和退格键删除,因为焦点丢失了,我如何理解它的焦点是在表格上,而不是在模态输入上。使用文档中的默认示例,我在 CodeSandbox 上做了一个简单的示例。来自那里的输入具有相同的行为。
DataGrid
附注。试着输入一些东西然后退格。你有什么主意吗?
这可以通过调用可以轻松解决stopPropagation()对keydown在事件TextField。它可以防止DataGrid拦截您的keydown事件并做自己的事情:
stopPropagation()
keydown
TextField
renderCell: () => <TextField onKeyDown={(e) => e.stopPropagation()} />