展开时是否可以覆盖扩展面板的摘要高度?更具体地说,我想删除 min-height 属性,并使摘要面板的高度为 40px,而不是 64px(默认值)。我尝试在根组件扩展时对其最小高度进行更改。 编辑:这里也是沙箱: https://codesandbox.io/embed/material-demo-forked-3ujf6?fontsize=14&hidenavigation=1&theme=dark
我使用的代码与以下相同:
const styles = (theme) => ({
root: {
width: "100%"
},
heading: {
fontSize: theme.typography.pxToRem(15),
fontWeight: theme.typography.fontWeightRegular
},
expansionPanel: {
minHeight: "40px",
"&$expanded": {
minHeight: "40px"
}
}
});
function SimpleExpansionPanel(props) {
const { classes } = props;
return (
<div className={classes.root}>
<ExpansionPanel>
<ExpansionPanelSummary
classes={{ root: classes.expansionPanel }}
expandIcon={<ExpandMoreIcon />}
>
<Typography className={classes.heading}>Expansion Panel 1</Typography>
</ExpansionPanelSummary>
<ExpansionPanelDetails>
<Typography>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse
malesuada lacus ex, sit amet blandit leo lobortis eget.
</Typography>
</ExpansionPanelDetails>
</ExpansionPanel>
<ExpansionPanel>
<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
<Typography className={classes.heading}>Expansion Panel 2</Typography>
</ExpansionPanelSummary>
<ExpansionPanelDetails>
<Typography>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse
malesuada lacus ex, sit amet blandit leo lobortis eget.
</Typography>
</ExpansionPanelDetails>
</ExpansionPanel>
<ExpansionPanel disabled>
<ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>
<Typography className={classes.heading}>
Disabled Expansion Panel
</Typography>
</ExpansionPanelSummary>
</ExpansionPanel>
</div>
);
}
我想要覆盖/删除的属性:
我想要覆盖尺寸的示例图片:
我需要摘要面板的高度为 40px。
Material-UI 本身已经有一个名为
expanded
(链接此处)的 css api,因此您可以使用它来覆盖这样的样式
<ExpansionPanelSummary
classes={{ expanded: classes.expansionPanel }}
...
>
而且你不需要
&$
那部分。
import { makeStyles } from '@material-ui/core/styles';
const useStyles = makeStyles((theme) => ({
overrideExpendedHeight: {
minHeight: '40px',
}
}));
function SimpleExpansionPanel(props) {
const { classes } = props;
const muiClasses = useStyles();
return (
<div className={classes.root}>
<ExpansionPanel classes={{ expanded: muiClasses.overrideExpendedHeight }}>
...
</ExpansionPanel>
</div>
);
}
尝试这种方式以获得 MUI 的最佳实践。
just pass this prop it will solve the issue:
<Accordion
expanded={isAccordionOpen}
disableGutters>
<AccordionSummary
sx={{
"& .MuiAccordionSummary-content": {
margin: 0,
},
}}
>