У меня есть поле выбора для пола, в котором метка расположена в центре элемента выбора, который является желаемой раскладкой.
![Gender Field, nothing selected](https://i.stack.imgur.com/w1Wok.png)
Когда пользователь выбирает это поле, метка отлетает в верхний левый угол, как показано. Я хочу полностью удалить ярлык и заменить его синей рамкой.
![Gender Field, male selected](https://i.stack.imgur.com/JPTtZ.png)
Вот мой код:
<TextField
id='gender-select'
select
label="Gender"
className={classes.textField}
value={gender}
onChange={data => setGender(data.target.value)}
margin='normal'
variant='outlined'>
{genders.map(option => (
<MenuItem key={option.value} value={option.value}>
{option.label}
</MenuItem>
))}
</TextField>
и вот мой код стилевого оформления:
const useStyles = makeStyles(theme => ({
textField: {
marginLeft: theme.spacing(1),
marginRight: theme.spacing(1),
marginTop: theme.spacing(1),
'& .MuiOutlinedInput-root': {
'& fieldset': {
borderColor: '#CACACA'
},
'&:hover fieldset': {
borderColor: '#007AFF'
},
'&.Mui-focused hover': {
borderColor: '#007AFF'
},
'&.Mui-focused fieldset': {
borderColor: '007AFF'
}
}
}
}))
Я попытался добавить условное обозначение для метки, чтобы аннулировать его, например:
label={gender== "" ? "Gender": null}
но это просто дает мне пустую строку вместо метки.
Как изменить метку для синей линии, когда поле находится в фокусе?