Примеры переопределения стилей ExpansionPanelSummary можно найти в документации здесь: https://material -ui.com / demos / extension-panel / # custom-extension-panel
Длячтобы понять более подробно, как правильно переопределить эти стили, полезно взглянуть на исходный код для ExpansionPanelSummary , чтобы увидеть, как определяются стили по умолчанию.
Вот сокращенное обозначениеверсия стилей по умолчанию, которая включает только части, влияющие на высоту:
export const styles = theme => {
return {
/* Styles applied to the root element. */
root: {
minHeight: 8 * 6,
'&$expanded': {
minHeight: 64,
},
},
/* Styles applied to the root element if `expanded={true}`. */
expanded: {},
/* Styles applied to the children wrapper element. */
content: {
margin: '12px 0',
'&$expanded': {
margin: '20px 0',
},
},
};
};
Затем можно создать собственный настраиваемый компонент сводки, который переопределяет эти стили, например:
const summaryStyles = {
root: {
minHeight: 8 * 4,
"&$expanded": {
minHeight: 8 * 4
}
},
content: {
margin: "8px 0",
"&$expanded": {
margin: "8px 0"
}
},
expanded: {}
};
const CompactExpansionPanelSummary = withStyles(summaryStyles)(props => {
return <ExpansionPanelSummary {...props} />;
});
CompactExpansionPanelSummary.muiName = "ExpansionPanelSummary";
Вы можете найти подробную информацию о том, почему свойство muiName
необходимо здесь: Как я могу переопределить глубокие элементы ExpansionPanelSummary с помощью styled-компонентов?
Вот рабочий пример, основанный на изолированной программной среде, которую вывключены в ваш вопрос:
![Edit Compact ExpansionPanelSummary](https://codesandbox.io/static/img/play-codesandbox.svg)