【发布时间】:2025-12-11 02:20:13
【问题描述】:
我有一个类似于下面的基本样式对象:
const baseGridStyle = {
gridStyle: {
'& .ag-header-row, .ag-filter-input:input': {
fontSize: '14px',
backgroundColor: COLORS.dark_blue,
minWidth: '100%',
}
}
}
现在,我正在尝试扩展和覆盖上述样式对象,如下所示:
const extendedGridStyle = (theme) => ({
gridStyle: {
'& .ag-header-row': {
fontSize: '16px'
}
}
})
我尝试使用如下扩展语法扩展基本样式,但它用扩展的GridStyle 覆盖了baseGridStyle 对象的gridStyle 属性
const extendedGridStyle = (theme) => ({
...baseGridStyle,
gridStyle: {
'& .ag-header-row': {
fontSize: '16px'
}
}
})
我尝试使用 lodash 的合并功能来合并两个对象。由于 extendedGridStyle 是一个函数,merge 函数不会合并样式。有没有办法做到这一点(可能是类似 jss 的方式)?
由于此问题,我无法继续进行。对此的任何帮助将不胜感激。提前致谢。干杯!
更新 1: 我尝试了 Stuart 下面建议的答案。会发生什么,如果我有一个
'& .ag-header-row' //class A
{
fontSize: '14px,
border-width: '1px'
}
在 baseGridStyle 中,我有一个
'& .ag-header-row' //class A
{
fontSize: '16px
}
在extendedGridStyle 中,基础网格中的A 类被extendedGridStyle 的A 类覆盖。有没有办法在只覆盖 fontSize 的同时保留边框宽度。
【问题讨论】:
标签: reactjs material-ui jss