我试图将覆盖样式应用于已编译的类名。我编译的代码就像......
<div class="MuiListItemText-root-262" >
我希望能够像这样定位特定的项目
const styles = () => { MultiListItemText-root-262: { color: red; } }
在香草 CSS 中我可以做到.MultiListItemText-root-262: { color: red; }
我怎样才能在 JSS 中做同样的事情?
我试图将覆盖样式应用于已编译的类名。我编译的代码就像......
<div class="MuiListItemText-root-262" >
我希望能够像这样定位特定的项目
const styles = () => { MultiListItemText-root-262: { color: red; } }
在香草 CSS 中我可以做到.MultiListItemText-root-262: { color: red; }
我怎样才能在 JSS 中做同样的事情?
你不能这样做。类名“MuiListItemText-root-262”是动态的,id“262”不可靠,可能会改变。
请查看 Material UI 的官方文档以使用 JSS 覆盖:https ://material-ui.com/customization/overrides/
根据您想要达到的变化水平,有几种可用的技术。
对于典型的“一次性”覆盖,请参阅使用 withStyles HOC 的第一个示例代码
import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import Button from '@material-ui/core/Button';
// We can inject some CSS into the DOM.
const styles = {
button: {
background: 'linear-gradient(45deg, #FE6B8B 30%, #FF8E53 90%)',
borderRadius: 3,
border: 0,
color: 'white',
height: 48,
padding: '0 30px',
boxShadow: '0 3px 5px 2px rgba(255, 105, 135, .3)',
},
};
function ClassNames(props) {
return (
<Button className={props.classes.button}>
{props.children ? props.children : 'class names'}
</Button>
);
}
ClassNames.propTypes = {
children: PropTypes.node,
classes: PropTypes.object.isRequired,
};
export default withStyles(styles)(ClassNames);