首页 > 解决方案 > 如何覆盖材料表中的 MuiPaper-root 样式

问题描述

我正在使用材料表(https://material-table.com/)。

我的问题是我想更改表格边框半径和表格阴影,显然,此选项不存在使用“选项功能”

但是当我检查表格时,我可以修改半径和阴影,如下所示:

在此处输入图像描述

我想知道如何从 Reactjs 覆盖这些值:


const useStyles = makeStyles(theme => ({
  root: {
  }
}));


const MainTable = props => {
  const {className, params, ...rest} = props

(...)
  return (
    <MaterialTable
      className={classes.MuiPaperRounded}
      columns={[
        {title: 'Equipement', field: 'equipement'},
        {title: 'TAG', field: 'tag'},
        {title: 'Nombre de points de mesures', field: 'nombreDePointsDeMesures'},
        {title: 'Mesuré', field: 'mesure', type: 'boolean'}
      ]}
      data={rows}
      icons={(...)}
      options={{
        tableLayout: {backgroundColor: 'green'},
      }}
      title="Routine vibration"
    />
  );
};

标签: javascriptcssreactjsmaterial-uimaterial-table

解决方案


如果在第三方组件内部自定义样式很困难,

从外部使用带有className的嵌套选择器就可以了。

对于您的示例:

"& .MuiPaper-root"

完整代码:

import React from "react";
import "./styles.css";
import { makeStyles } from "@material-ui/core";
import MaterialTable from "material-table";

const useStyles = makeStyles(theme => ({
  root: {
    "& .MuiPaper-root": {
      borderRadius: "100px",
      boxShadow: "10px 10px 5px 0px rgba(0,0,0,0.75);"
    }
  }
}));

export default function App() {
  const classes = useStyles();
  return (
    <div className={classes.root}>
      <MaterialTable />
    </div>
  );
}

编辑 sleepy-thunder-s947k

在此处输入图像描述


推荐阅读