添加带有材质表的组件更改 Material-UI AppBar 样式

Posted

技术标签:

【中文标题】添加带有材质表的组件更改 Material-UI AppBar 样式【英文标题】:Adding component with material-table changes Material-UI AppBar style 【发布时间】:2019-12-03 21:01:08 【问题描述】:

我的应用正在使用 Material-UI 和 material-table。使用“ThemeProvider”在“index.js”文件中应用一个全局主题,并作为一个子项,然后有子项:

<Fragment>
    <CssBaseline />
    <MenuAppBar />
    <main className=classes.main>
      <Route path="/" exact component=Home />
      <Route path="/login" component=Login></Route>
    </main>
</Fragment>

然后组件具有带有材料表的组件。当我添加表格组件并查看该页面时,AppBar 会丢失一些样式,例如Pofile 和 Logout (https://material-ui.com/components/app-bar/#app-bar-with-menu) 下拉按钮中的背景颜色和对齐方式。我很困惑为什么会这样。

深入研究 CSS,在更改 AppBar 样式的页面上,我看到 .MuiPaper-root.MuiAppBar-colorPrimary 之前导入,因此会覆盖样式,但仍然不确定为什么要添加带有“材质表”的组件导致这种情况发生。

我的应用依赖项是:

"dependencies": 
    "@material-ui/core": "^4.2.1",
    "@material-ui/icons": "^4.2.1",
    "axios": "^0.19.0",
    "jwt-decode": "^2.2.0",
    "material-table": "^1.40.1",
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-router": "^5.0.1",
    "react-router-dom": "^5.0.1",
    "react-scripts": "3.0.1",
    "react-svg": "^10.0.11"
  ,

我还看到“material-table”列出了“material-ui/core”的两个不同版本,但不知道如何解决。

"material-table": 
      "version": "1.40.1",
      "resolved": "https://registry.npmjs.org/material-table/-/material-table-1.40.1.tgz",
      "integrity": "sha512-rZuGhNpXFzROlqJUVLH+E5yzt9MxaYVZfDNuHWtM9EWlbUGQJWuGQNcsSmdr0XeTCZkQvVnZYbEkRcUu+71rfQ==",
      "requires": 
        "@date-io/date-fns": "^1.1.0",
        "@material-ui/core": "^4.0.1",
        "@material-ui/pickers": "^3.0.0",
        "classnames": "^2.2.6",
        "date-fns": "^2.0.0-alpha.27",
        "debounce": "^1.2.0",
        "filefy": "0.1.9",
        "prop-types": "^15.6.2",
        "react-beautiful-dnd": "11.0.3",
        "react-double-scrollbar": "0.0.15"
      ,
      "dependencies": 
        "@material-ui/core": 
          "version": "4.2.1",
    ...

【问题讨论】:

我有同样的问题,我认为 Material UI 已经捆绑了两次。参见这里,***.com/questions/56794892/… 【参考方案1】:

通过找到其他一些帖子 1 和 2 我尝试将我的 material-ui/core 和 material-ui/icons 版本降级到版本 4.0.1(与 material-table 使用的相同)并且工作。

详细信息:

npm uninstall @material-ui/core
npm uninstall @material-ui/icons

npm install @material-ui/core@4.0.1
npm install @material-ui/icons@4.0.1

【讨论】:

以上是关于添加带有材质表的组件更改 Material-UI AppBar 样式的主要内容,如果未能解决你的问题,请参考以下文章

材质UI头像添加海拔

添加溢出属性时材质UI奇怪的蓝线

带有 next.js 的 material-ui 样式

如何向 Material-UI 的 AppBar 组件添加多个元素?

打字稿:React.forwardRef 带有来自@material-ui 的通用道具

Material-UI injectionFirst 不适用于故事书