Я использую Material-UI TextField
, чтобы создать ввод и метку для компонента типа подборщика заголовка с понижением .
У меня естьвидел demos и получил это:
<FormControl fullWidth className={classname}>
<TextField fullWidth InputProps={ inputProps } InputLabelProps={ inputLabelProps } />
</FormControl>
Мои inputProps равны:
const inputProps = getInputProps({ //passed in by {...downshiftProps} on the parent
onChange, onKeyDown, disabled, error, label, value: inputValue,
startAdornment: selectedItems.map(item => ...)
});
const inputLabelProps = getLabelProps({ //passed in by {...downshiftProps} on the parent
disabled, required, error, disabled, shrink: true, id: inputProps.id
});
Мой предшественник имел те атрибуты inputLabelProps, определенные на материалеui InputLabel
компонента, но в попытке заставить работать атрибуты aria-labelledby, я получил один TextField
.
Распечаткасодержимое реквизита ввода и метки дает:
//labelProps
{
disabled: false,
error: false,
htmlFor: "downshift-0-input",
id: "downshift-0-label",
required: undefined,
shrink: false
}
//inputProps
{
aria-activedecendant: null,
aria-autocomplete: "list"
aria-controls: null,
aria-labelledby: "downshift-0-label",
autoComplete: "off"
disabled: false,
error: false,
id: "downshift-0-input",
onBlur: f(event),
onChange: f(event),
onKeyDown: f(event),
startAdornment: [],
value: ""
}
Моя проблема в том, что метка не отображается в DOM.Самое близкое, что я получаю - это div с атрибутом label, который оборачивает ввод, но ничего не отображает.
ps Я видел Текстовое поле Material-ui с меткой , но я не думаю, чтоFloatingLAbelText больше не существует?Ссылка в ответах устарела и не совместима с шаблоном propGetters.