reactjs - 如何使用 makeStyles 更改 Material UI 表格的字体颜色?
问题描述
我正在尝试更改 MaterialUI 表的字体颜色,但我似乎无法让它与 makeStyles() 一起使用。在 MUI 的文档中,有一个使用 withStyles() 更改字体颜色的示例,但出于学习目的,我想知道如何使用 makeStyles 进行更改。另外,我想问一下是否有特定情况建议使用 withStyles() 而不是 makeStyles(),反之亦然。
我的组件如下:
const useStyles = makeStyles({
table: {
minWidth: 650,
fontSize: 20,
color: 'red',
},
{...}
function TableComponent() {
return (
<Table classes={classes.table}>
{/*table data*/}
</Table>
)
}
});
感谢您的时间。
解决方案
您需要修改TableCell
组件的根样式。您可以通过更改 TableCell 的根元素来修改字体颜色,如下所示:
const useStyles = makeStyles({
root: {
color: "red"
}
});
///////other parts of your code///////
<TableCell className={classes.root} align="right">
{row.protein}
</TableCell>
但它需要对代码中使用的每个TableCell
组件进行大量修改。最好的方法是自定义TableCell
组件并创建更改字体颜色的新组件。如下所示:
const StyledTableCell = withStyles({
root: {
color: "red"
}
})(TableCell);
推荐阅读
- php - mysql升级到8后报错,only_full_group_by报错
- asp.net-core - 如何在 AspNet.Core 2.1 中通过依赖注入添加 UserManager?
- php - 作为参数传递时防止PHP函数被立即调用的最佳方法?
- node.js - 在哪里挂钩在构建过程之前带来文件的函数
- php - 使用自签名证书连接到 dev magento soap api v1 - 版本错误
- python - 如何在 prefork celery 环境中正确使用 psycopg2?
- laravel - Laravel 中相同验证关键字的不同错误消息
- python - 询问关于其中列名更改的熊猫数据框
- reactjs - 如何在 React 中执行 jQuery 风格的串行动画
- javascript - Django Ajax 通信,Django 不识别为 Ajax(使用 request.is_ajax() )