我已经使用Material-UI创建了一个可选组件
let SelectableInfiniteList = makeSelectable(Infinite);
并将ListItem放入其中,现在我想更改所选项的默认灰色,但如果给予它一个className,我不知道如何更改
<ListItem className="list-item" primaryText={i}/>
并使用list-item:focus selector我可以改变背景色,只要它是聚焦的(但如果我点击应用程序中的其他地方)焦点就会丢失,灰色显示在(静止的)选中的项目上,
有办法改变所选项目的背景色吗?
9条答案
按热度按时间6jygbczu1#
我不得不使用全局主题覆盖:https://material-ui.com/customization/components/#global-theme-override
xwbd5t1u2#
通过传递
selected
样式更改默认选定的灰色,如下所示。Style对象应该是这样的。
s2j5cfk03#
如果您对不全局覆盖样式的方法感兴趣,
Codesandbox.材料-UI文档。
gtlvzcf84#
在您的高阶组件中添加新属性selectedItemStyle!
其中选定项目样式为
tktrz96b5#
4uqofj5v6#
如果您更喜欢本地自定义样式,可以使用
classes
覆盖material-ui
的组件样式(https://material-ui.com/customization/components/#overriding-styles-with-classes)ListItem
的CSS部分https://material-ui.com/api/list-item/#css,我们就会知道ListItem
的classes
如果要覆盖其全局样式,请执行以下操作:
tsm1rwdh7#
使用材质UI v4,这对我很有效:
与:
ubbxdtey8#
基于TablePagination组件的CSS规则(材质UI v3.9.4):
daupos2t9#
使用样式化组件时效果最佳: