【发布时间】:2020-07-20 17:33:16
【问题描述】:
我正在尝试让多行 TextField 在对话框组件中正常工作。
我已经为这个特定问题苦苦挣扎了一段时间,我不确定这个问题是否与 MUI 相关,或者可能与我的页面(对话框)如何在响应中重新呈现有关。
请参阅链接的非工作示例。 HERE
我也测试了许多其他方法,例如重组我的代码,在备忘录中包装东西等等。但无济于事......
目前发生了 3 件事中的 1 件事。
1.) 没有自动对焦 => 无法输入
2.) 使用自动对焦 => 可以解决问题...当失去焦点时,输入会闪烁
3.) 使用自动对焦+多行...输入也会失去焦点(重新获得焦点,但光标是输入的开头)
理论
我认为这可能是 React MUI 中的一个错误,并且已经为它创建了一个 bug ticket,但我想排除它可能不是其他东西,例如我编写对话框代码的方式,例如,没有记住正确的事情,状态导致更新它不应该等等......
【问题讨论】:
-
您是否尝试过将这两个状态分开?我猜原因与每次有输入时重置条件渲染状态时重新渲染有关。
-
只是为了澄清你建议
[comment, setComment] = useState('')vsuseState({ something: '', comment: '' })...我确定我有...但我会再次检查。 -
@keikai。这是一个具有分裂状态的分叉......而且似乎也发生了同样的事情。 codesandbox.io/s/react-mui-dy5km
标签: reactjs material-ui react-material