将文本添加到Switch formcontrol并使用材质ui进行切换

时间:2019-05-14 10:12:28

标签: reactjs switch-statement material-ui slidetoggle

我正在使用Material UI的Switch组件,并且想在其中添加文本。另外,我需要使其呈正方形。

如何在Switch组件内添加文本。选择时应打开,默认时应关闭。我正在Reactjs表单的Formcontrol中使用Material UI的Switch。

<FormControlLabel 
  label="Private ? "
  labelPlacement="start"
  control={
    <Switch
       checked={this.state.checked}
       onChange={this.handleChange}
       color='primary'
    />
  } 
/>

1 个答案:

答案 0 :(得分:0)

这里是一个如何根据Switch的状态以及方形Switch的样式更改文本的示例:

import React from "react";
import FormControlLabel from "@material-ui/core/FormControlLabel";
import Switch from "@material-ui/core/Switch";
import { withStyles } from "@material-ui/core/styles";

const styles = {
  icon: {
    borderRadius: 0
  }
};
class SwitchLabels extends React.Component {
  state = {
    checked: true
  };

  handleChange = event => {
    this.setState({ checked: event.target.checked });
  };

  render() {
    return (
      <FormControlLabel
        control={
          <Switch
            classes={this.props.classes}
            checked={this.state.checked}
            onChange={this.handleChange}
            value="checked"
            color="primary"
          />
        }
        labelPlacement="start"
        label={this.state.checked ? "On" : "Off"}
      />
    );
  }
}

export default withStyles(styles)(SwitchLabels);

Edit Switch text change