javascript - 如何覆盖 react-chartist 组件中的样式?
问题描述
我有一个简单的 React JS 组件,它包裹着非常酷的 react ChartistGraph 组件。唯一的问题是样式似乎被 ChartistGraph 默认 CSS 覆盖。有很多关于常规Chartist js 包的信息,但关于React JS 包的信息不多。
如您所见,我尝试通过两种方式更改填充颜色:通过样式类和通过组件支持的道具。
import React from 'react';
import { Paper, withStyles } from 'material-ui';
import ChartistGraph from 'react-chartist';
const styles = theme => ({
graphStyle: {
fill: 'red',
},
});
const CustomChart = ({ classes, graph }) => {
return (
<Paper>
<ChartistGraph
className={classes.graphStyle}
data={graph.data}
options={graph.options}
type={graph.type}
style={{ fill: 'red' }}
/>
</Paper>
);
};
export default withStyles(styles)(CustomChart);
解决方案
您可以使用 jss 的嵌套规则(默认包含在 中material-ui
):
const styles = theme => ({
graphStyle: {
'& .ct-label': { fill: 'red' },
},
});
完整代码:
import React from 'react';
import { Paper, withStyles } from 'material-ui';
import ChartistGraph from 'react-chartist';
const styles = theme => ({
graphStyle: {
'& .ct-label': { fill: 'red' },
},
});
const CustomChart = ({ classes, graph }) => {
return (
<Paper>
<ChartistGraph
className={classes.graphStyle}
data={graph.data}
options={graph.options}
type={graph.type}
// style={{ fill: 'red' }} // omitted
/>
</Paper>
);
};
export default withStyles(styles)(CustomChart);
推荐阅读
- fortran - 处理无限多态虚拟参数的单个元素时选择了错误的列
- asp.net-core - 将父 ViewData 发送到在 javascript 中呈现的 Partial
- clickhouse - Clickhouse kafka 引擎 - 如何将带有解析错误的消息移动到不同的队列
- python-3.x - 在python列表中追加函数vs逗号追加
- gorilla - Echo Web 框架与现有 Gorilla Mux API 的集成
- vue.js - 在Vue中将{{}}内的值拆分为多行(源代码)
- javascript - 砖石元素的 50% 宽度
- arrays - 在matlab中对数组的分区求和
- android - Firebase 实时数据库和 Kotlin 协程
- python - 如何通过终端将 .py 脚本拖放到 python shell 上而不会出现语法错误?