gpt4 book ai didi

reactjs - 从 materialui 组件中删除/覆盖默认样式

转载 作者:行者123 更新时间:2023-12-03 22:07:43 45 4
gpt4 key购买 nike

我正在尝试更改菜单项弹出框的背景颜色。但我无法从菜单项中删除 paddingtop 和 paddingBottom。这有点烦人,因为一些 materialui 组件从纸、列表、菜单等继承样式。有没有一种干净有效的方法来解决这个问题?例如,在主题中使用覆盖等。

我有实验,我知道可以使用内联样式/类来完成,但我不想使用该方法。我试过使用 ListProps={{disablePadding: true}}, MenuProps={{{disablePadding: true}}。但它不起作用。

       <FormControl className={classes.formControl}>
<Select
value={value.groupId}
onChange={handleChange}
MenuProps={{
getContentAnchorEl: null,
anchorOrigin: {
vertical: "bottom",
horizontal: "left",
},
}}
classes={{
icon: isDarkMode ? classes.iconLight :classes.icon,

}}
ListProps={{disablePadding: true}}
inputProps={{
name: 'groupId',
id: 'group-machines',
}}
>

{
equipmentgroups.map(equipmentgroup =>
<MenuItem
style={isDarkMode ? {backgroundColor: theme.palette.primary.dark} :
{backgroundColor: theme.palette.secondary.main}}
className={classes.menuItemDisplay}
value={equipmentgroup.groupId}
key={equipmentgroup.groupId}
>{equipmentgroup.groupName}</MenuItem>
)

}

</Select>
</FormControl>

当我检查元素时,我仍然得到这个。
        .MuiList-padding-370 {
padding-top: 8px;
padding-bottom: 8px;
}

最佳答案

您需要 MenuProps={{ MenuListProps: { disablePadding: true } }} .

这是一个工作示例:

import React from "react";
import { makeStyles } from "@material-ui/core/styles";
import InputLabel from "@material-ui/core/InputLabel";
import MenuItem from "@material-ui/core/MenuItem";
import FormControl from "@material-ui/core/FormControl";
import Select from "@material-ui/core/Select";

const useStyles = makeStyles(theme => ({
root: {
display: "flex",
flexWrap: "wrap"
},
formControl: {
margin: theme.spacing(1),
minWidth: 120
},
selectEmpty: {
marginTop: theme.spacing(2)
}
}));

function SimpleSelect() {
const classes = useStyles();
const [values, setValues] = React.useState({
age: "",
name: "hai"
});

const inputLabel = React.useRef(null);

function handleChange(event) {
setValues(oldValues => ({
...oldValues,
[event.target.name]: event.target.value
}));
}

return (
<form className={classes.root} autoComplete="off">
<FormControl className={classes.formControl}>
<InputLabel htmlFor="age-simple">Age</InputLabel>
<Select
value={values.age}
onChange={handleChange}
MenuProps={{ MenuListProps: { disablePadding: true } }}
inputProps={{
name: "age",
id: "age-simple"
}}
>
<MenuItem value="">
<em>None</em>
</MenuItem>
<MenuItem value={10}>Ten</MenuItem>
<MenuItem value={20}>Twenty</MenuItem>
<MenuItem value={30}>Thirty</MenuItem>
</Select>
</FormControl>
</form>
);
}

export default SimpleSelect;

Edit Select without padding

关于reactjs - 从 materialui 组件中删除/覆盖默认样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56352255/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com