mil*_*z.p 2 reactjs material-ui
当我用材质UI“对话框”包装“表单”元素时,出现“无法读取null的属性'offsetWidth'”错误,这使InputLabel的自动宽度无法工作。
当我删除Dialog时,它可以正常工作,并且在ComponentDidmount上可以正确读取InputLabelRef。
沙箱示例:https://codesandbox.io/s/1q98z07w13
我需要用Dialog包裹它。这里可能是什么问题?
发生这种情况的原因componentDidMount是,即使默认状态为,调用时对话框内部的组件也不会呈现open === true。
这里的技巧是确保在componentDidMount调用表单时始终挂载您的表单。为此,您需要将表单分成一个单独的组件,该组件位于Dialog组件内部。componentDidMount在Dialog显示单独的组件时调用此方法,而不是在其Dialog本身已渲染时调用。
我已经更新了您的沙箱,以包括我提到的更改:https : //codesandbox.io/s/zw705046w3
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |