【发布时间】:2019-07-03 23:51:12
【问题描述】:
我有一个性别选择字段,其标签位于选择的中心,这是所需的布局。
当用户选择此字段时,标签会飞到左上角,如图所示。我想要做的是完全删除标签并用蓝色边框替换它。
这是我的代码:
<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 属性上添加一个条件来取消它,例如:
label={gender== "" ? "Gender": null}
但这只是给了我一个空白行来代替标签。
当字段处于焦点时,如何更改蓝线的标签?
【问题讨论】:
标签: reactjs material-ui