如何在 Material UI 中创建每个标签具有多个标签的自定义标签?

Ami*_*hra 3 tabs reactjs material-ui

我正在使用材质 UI,这样的material-ui/Tabs代码示例...

import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from 'material-ui/styles';
import AppBar from 'material-ui/AppBar'
import Tabs, { Tab } from 'material-ui/Tabs';
import Typography from 'material-ui/Typography';

const styles = theme => ({
  bigIndicator: {
    height: 5,
  },
});

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

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

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

    return [
      <AppBar position="static" key="appbar">
        <Tabs 
          classes={{ indicator: classes.bigIndicator }} 
          value={value}
          onChange={this.handleChange}
        >
          <Tab label="T1 Label 1" />
          <Tab label="T2 Label 1" />
          <Tab label="T3 Label 1" />
        </Tabs>
      </AppBar>,
      <div key="tab-content">
        {value === 0 && <Typography>Item One</Typography>}
        {value === 1 && <Typography>Item Two</Typography>}
        {value === 2 && <Typography>Item Three</Typography>}
      </div>
    ]
  }
}

BasicTabs.propTypes = {
  classes: PropTypes.object.isRequired,
};

export default withStyles(styles)(BasicTabs);


Run Code Online (Sandbox Code Playgroud)

但是我想在每个选项卡中添加标签 2,这样它看起来应该与此类似... 在此处输入图片说明

这是我的示例代码和框https://codesandbox.io/s/xjj5j6284

提前致谢。

Rya*_*ell 9

标签可以根据您的需要变得复杂。例如:

          <Tab
            label={
              <React.Fragment>
                T1 Label 1<br />
                <span style={{ fontSize: "smaller" }}>T1 Label2</span>
              </React.Fragment>
            }
          />
Run Code Online (Sandbox Code Playgroud)

编辑材质 UI - 自定义选项卡指示器

一方面,我想确保您知道您使用的是非常旧版本的 Material-UI。当前版本的导入以“@material-ui/core”而不是“material-ui”开头。

所以代替

import { withStyles } from "material-ui/styles";
import AppBar from "material-ui/AppBar";
import Tabs, { Tab } from "material-ui/Tabs";
import Typography from "material-ui/Typography";
Run Code Online (Sandbox Code Playgroud)

你应该有

import { withStyles } 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";
Run Code Online (Sandbox Code Playgroud)