Получить ширину элемента, переданного как реквизит - PullRequest
1 голос
/ 27 июня 2019

Как получить ширину Начального украшения, переданную в InputProps в текстовом поле Материал ввода / ввода?

<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>

Я получаюstartAdornment во InputProps и пытаюсь передать ему 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 не определено.Не уверен, что здесь не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...