如何获取 Material UI 文本字段/输入中 InputProps 中传递的 Start Adornment 的宽度?
<TextField {...{
InputProps: {
startAdornment:
<InputAdornment position="start">
Kg
</InputAdornment>
},
}}/>
这是TextField的实现
<FormControl>
{label && (
<InputLabel disabled={disabled} htmlFor={id} {...InputLabelProps}>
{label}
</InputLabel>
)}
<Input startAdornment={StartAdornment} />
{helperText && (
<FormHelperText id={helperTextId} disabled={disabled} {...FormHelperTextProps}>
{helperText}
</FormHelperText>
)}
</FormControl>
我在 InputProps 中获取 startAdornment 并尝试将 ref 传递给它以在 componentDidMount 中获取它的宽度
constructor(props) {
super(props)
this.ref = React.createRef()
}
componentDidMount() {
console.log('Did mount', this.ref.current.offsetWidth)
}
const StartAdornment = React.cloneElement(this.props.InputProps.startAdornment, {ref: this.ref})
我越来越不确定。我确实在 ref 的当前属性中获取了元素,但 offsetWidth 未定义。不知道这里有什么问题。