如何更改 Material UI 选项卡的配色方案?

桑迪普·罗伊

我希望更改 Material UI 选项卡的配色方案,带有白色背景和绿色指示符和文本。

这是我目前所做的,

演示.js

import React from "react";
import PropTypes from "prop-types";
import { MuiThemeProvider, createMuiTheme } from "@material-ui/core/styles";
import AppBar from "@material-ui/core/AppBar";
import Tabs from "@material-ui/core/Tabs";
import Tab from "@material-ui/core/Tab";
import Typography from "@material-ui/core/Typography";
import { orange, pink, green, lightGreen } from "@material-ui/core/colors";

function TabContainer(props) {
  return (
    <Typography component="div" style={{ padding: 8 * 3 }}>
      {props.children}
    </Typography>
  );
}

TabContainer.propTypes = {
  children: PropTypes.node.isRequired
};

const theme = createMuiTheme({
  overrides: {
    MuiTabs: {
      indicator: {
        backgroundColor: green[700]
      }
    },
    MuiTab: {
      root: {
        "&:hover": {
          backgroundColor: "#FFFFFF",
          color: green[700]
        }
      },
      selected: {
        backgroundColor: "#FFFFFF",
        color: green[700],
        "&:hover": {
          backgroundColor: green[100],
          color: green[700]
        }
      }
    }
  }
});

class SimpleTabs extends React.Component {
  state = {
    value: 0
  };

  handleChange = (event, value) => {
    this.setState({ value });
  };

  render() {
    const { classes } = this.props;
    const { value } = this.state;

    return (
      <MuiThemeProvider theme={theme}>
        <div>
          <AppBar position="static">
            <Tabs value={value} onChange={this.handleChange}>
              <Tab label="Item One" />
              <Tab label="Item Two" />
              <Tab label="Item Three" href="#basic-tabs" />
            </Tabs>
          </AppBar>
          {value === 0 && <TabContainer>Item One</TabContainer>}
          {value === 1 && <TabContainer>Item Two</TabContainer>}
          {value === 2 && <TabContainer>Item Three</TabContainer>}
        </div>
      </MuiThemeProvider>
    );
  }
}

SimpleTabs.propTypes = {
  classes: PropTypes.object.isRequired
};

export default SimpleTabs;

和 index.js


import React from 'react';
import { render } from 'react-dom';
import Demo from './demo';

const rootElement = document.querySelector('#root');
if (rootElement) {
  render(<Demo />, rootElement);
}
      

截至目前,选项卡显示了预期的配色方案,但并没有保持原样,仅悬停在上方显示白绿色配色方案。它的标签上也有蓝色背景,我也想改为白色。

我已经参考了较早的答案并进行了更改。这是代码和框链接 - https://codesandbox.io/s/mui3-how-to-override-tab-theme-forked-qexyf?file=/index.js:0-205

阿尔乔姆·瓦季莫维奇·索洛维夫

请参阅下面的改进的LIVE 示例并使用注释覆盖配置

在此处输入图片说明

const theme = createMuiTheme({
  overrides: {
    MuiTabs: {
      root: {
        backgroundColor: "#FFFFFF" // overrides blue background for panel
      },
      indicator: {
        backgroundColor: green[700]
      }
    },
    MuiTab: {
      root: {
        "&$selected": { // proper way for styling selected tab
          color: green[700],

          "&:hover": {
            backgroundColor: green[100],
            color: green[900]
          }
        }
      },
      wrapper: { // styles tab value
        color: green[500]
      }
    }
  }
});

控制台中的错误(在您的示例中)已经有一些有用的提示。遵循它们并根据文档进行更改 在此处输入图片说明


请让我知道它是否有效)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在material-ui中自定义活动选项卡的字体大小

material-ui:输入更改选项卡的this.state.value

更改选项卡时如何获取UI Bootstrap选项卡以发送事件

Angular UI引导程序选项卡-无法使用选项卡内的按钮更改选项卡

如何更改“材质UI”选项卡按钮的宽度

如何使用material-ui在工具栏内使用全高选项卡?

如何在Material-UI v1中实现自定义选项卡指示器颜色

如何获得Material-UI选项卡以与react-router一起使用?

将@ Material-UI选项卡用作导航栏

Material-UI选项卡“选定”还不够具体。

如何更改Semantic-UI React的选项卡标题宽度(垂直选项卡)

GWT Material DatePicker在选项卡更改时自动打开

材质UI选项卡-反应-更改活动选项卡onclick

Angular Material选项卡组件-如何更改标签字体大小

如何在Angular Material中更改选项卡标签?

与nextjs的material-ui选项卡?

自动完成弹出框内的Material-UI选项卡

React material UI UI警告选项卡仅接受选项卡组件作为子代

Reactjs - 在 material-ui 中重置操作更改的选项卡索引

如何使用 Material ui 更改所选项目的颜色

如何在 material-ui 中的禁用选项卡内启用组件行为?

Material UI 选项卡:在选项卡之间切换后,选项卡中的更改被丢弃

Angular Material 选项卡 - 如何更改标签字体大小

如何自定义 Material-UI 选项卡指示器的形状

带有 Material UI React 的数据驱动选项卡

React Material UI 选项卡关闭

如何使用 Material UI 在选项卡上放置关闭按钮

所选的 Material UI 选项卡与其他选项卡的颜色不同

如何禁用选项卡箭头键导航 Material UI ReactJS?