【发布时间】:2021-07-08 13:52:13
【问题描述】:
当出于某种原因尝试在材质 UI 中放置带有下拉列表的标签时,我看到了这种行为
由于某种原因,我无法让它们在同一行对齐。
这是我的组件:
const useStyles = makeStyles(theme => ({
root: {
justifyContent: 'center',
display: 'flex',
},
formControl: {
margin: theme.spacing(1),
minWidth: 120,
},
selectEmpty: {
marginTop: theme.spacing(2),
},
}));
function DutPreferencesTab(props) {
const classes = useStyles()
const {data} = props
console.log(data)
const [age, setAge] = React.useState('');
const handleChange = (event) => {
setAge(event.target.value);
};
return (
<div style={{display: 'flex', direction: 'row'}}>
<CustomLabel text={'Relay:'} variant={"subtitle1"} />
<FormControl className={classes.formControl}>
<InputLabel id="demo-simple-select-label">Age</InputLabel>
<Select
labelId="demo-simple-select-label"
id="demo-simple-select"
value={age}
onChange={handleChange}
>
<MenuItem value={10}>Ten</MenuItem>
<MenuItem value={20}>Twenty</MenuItem>
<MenuItem value={30}>Thirty</MenuItem>
</Select>
</FormControl>
</div>
)
}
CustomLabel.js
import React from 'react'
import Typography from '@material-ui/core/Typography';
import clsx from 'clsx';
function CustomLabel({text, variant, styles}) {
return (
<div className={clsx(styles)}>
<Typography variant={variant} gutterBottom>
{text}
</Typography>
</div>
)
}
export default CustomLabel
我尝试了所有方法,但仍然无法让它们在同一行对齐,我无法弄清楚我们的原因。据我所知,它似乎只发生在下拉菜单中。我还有其他与标签完全对齐的文本。
我错过了什么吗?
【问题讨论】:
-
你可以试试
flex-wrap: nowrap的容器风格 -
@SarunUK 成功了,谢谢!你能解释一下 flex-end 是如何工作的吗?
-
align-items和flex-start、center、flex-end等将控制 flex 容器内项目的对齐方式。 -
我相信您需要将direction属性更改为flexDirection的代码框,
标签: css reactjs material-ui