javascript - 如何在material-ui中自定义事件选项卡的字体大小

标签 javascript reactjs material-ui

我的要求是只有事件选项卡应该具有特定的颜色和字体大小。

这是我的代码:

                    <Tabs
                        value={value}
                        onChange={handleChange}
                        classes={{indicator: classes.customStyleOnActiveTab}}
                        aria-label="some text"
                        >
                        <Tab label={<span className={classes.customStyleOnTab}>Tab 1</span>} />
                        <Tab label={<span className={classes.customStyleOnTab}> Tab 2</span>}/>
                    </Tabs>

但是,它更改了两个选项卡上的样式,而我只希望事件选项卡具有特定样式(蓝色和粗体)。另一个选项卡应具有正常的 font-weightcolor:

enter image description here

如果我使用 textColor 属性,我可以实现所需的结果,但无法自定义它。我深入研究了 Material 文档,并最终尝试了他们公开的所有 CSS 类,但没有任何运气

最佳答案

要向事件选项卡添加自定义/不同样式,您可以有条件地向事件选项卡分配一个类。每个 Tab 都有自己的值(也是它们的索引值)并有条件地为它们分配类。

这是codesandbox的链接:- https://codesandbox.io/s/elegant-tu-lxi1g?file=/src/App.js


    import React, { useState } from "react";
    import "./styles.css";
    import {Tabs, Tab, makeStyles} from '@material-ui/core'

    export default function App() {
      const classes = useStyles()
      const [value, setValue] = useState(0)

      const handleChange = (e, newVal)=>{
        setValue(newVal)
      }


      return (
        <div className="App">
          <Tabs
            value={value}
            onChange={handleChange}
            classes={{indicator: classes.customStyleOnActiveTab}}
            aria-label="some text"
          >
            <Tab label={<span className={ value === 0 ? classes.activeTab : classes.customStyleOnTab}>Tab 1</span>} />
            <Tab label={<span className={ value === 1 ? classes.activeTab : classes.customStyleOnTab}> Tab 2</span>}/>
          </Tabs>
        </div>
      );
    }


    const useStyles = makeStyles({
      customStyleOnTab:{
        fontSize:'15px',
        color:'green'
      },
      customStyleOnActiveTab:{
        color:'red'
      },
      activeTab:{
        fontSize:'16px',
        fontWeight:'600',
        color:'pink'
      }
    })


此外,您还可以将 className 分配给 Tab 元素而不是 span ,以保持 label 属性干净、整洁和统一。

关于javascript - 如何在material-ui中自定义事件选项卡的字体大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64044204/

相关文章:

javascript - 在 React 中将 setInterval 添加到 componentDidMount

javascript - 在高级搜索选项卡抽屉中实现页脚

reactjs - 是否可以将 Material 表的列顺序保存到数据库中以保持其持久性?

javascript - 选择一个自动完成的输入值会转到一个链接

javascript - HTML 和 <canvas> 适合在线 Gameboy 风格的游戏吗?

javascript - animationend 在 css 上触发但在 javascript 上不触发

javascript - 无法将输入文本框附加到 Angular $scope

javascript - 在事件监听器函数中无法访问 React hooks 值

javascript - 在 React.js 中,我如何从组件的字符串表示形式呈现组件?

material-ui - 自定义 react Material ui 选择背景的 z-index