【发布时间】:2021-01-11 12:07:02
【问题描述】:
我试图为 Material UI 中的每个 Select 选项设置一个图标。我按照本问题提出的答案How can I add an icon to Material UI Select options?使用ListItemIcon和ListItemText,它确实显示了每个选项的图标,但在选择时,图标与不同行上的选项值一起显示图标。图片说明了我的意思。
我该怎么做才能使文本仅显示在一行中,而当我选择一个选项时不显示图标?我将在此处附上我用作参考的代码。
import React, { useState } from "react";
import {
Box,
Select,
MenuItem,
ListItemIcon,
ListItemText,
} from "@material-ui/core";
import ShortTextIcon from "@material-ui/icons/ShortText";
import SubjectIcon from "@material-ui/icons/Subject";
import { makeStyles } from "@material-ui/core/styles";
const useStyles = makeStyles({
root: {
textAlign: "center",
},
});
function App() {
const classes = useStyles();
const [state, setState] = useState("");
const handleChange = (e) => {
setState(e.target.value);
};
return (
<Box component="div" className={classes.root}>
<Select value={state} onChange={handleChange}>
<MenuItem value="First Choice">
<ListItemIcon>
<ShortTextIcon />
</ListItemIcon>
<ListItemText primary="First Choice" />
</MenuItem>
<MenuItem value="Second Choice">
<ListItemIcon>
<SubjectIcon />
</ListItemIcon>
<ListItemText primary="Second Choice" />
</MenuItem>
</Select>
</Box>
);
}
export default App;
【问题讨论】:
标签: reactjs drop-down-menu material-ui