Switch

Switching Selector.

When To Use#

  • If you need to represent the switching between two states or on-off state.

  • The difference between Switch and Checkbox is that Switch will trigger a state change directly when you toggle it, while Checkbox is generally used for state marking, which should work in conjunction with submit operation.

Examples

The most basic usage.

expand codeexpand code
import { Switch } from 'antd';

function onChange(checked) {
  console.log(`switch to ${checked}`);
}

ReactDOM.render(<Switch defaultChecked onChange={onChange} />, mountNode);


With text and icon.

expand codeexpand code
import { Switch } from 'antd';
import { CloseOutlined, CheckOutlined } from '@ant-design/icons';

ReactDOM.render(
  <>
    <Switch checkedChildren="开启" unCheckedChildren="关闭" defaultChecked />
    <br />
    <Switch checkedChildren="1" unCheckedChildren="0" />
    <br />
    <Switch
      checkedChildren={<CheckOutlined />}
      unCheckedChildren={<CloseOutlined />}
      defaultChecked
    />
  </>,
  mountNode,
);

Mark a pending state of switch.

expand codeexpand code
import { Switch } from 'antd';

ReactDOM.render(
  <>
    <Switch loading defaultChecked />
    <br />
    <Switch size="small" loading />
  </>,
  mountNode,
);

Disabled state of Switch.

expand codeexpand code
import { Switch, Button } from 'antd';

class App extends React.Component {
  state = {
    disabled: true,
  };

  toggle = () => {
    this.setState({
      disabled: !this.state.disabled,
    });
  };

  render() {
    return (
      <>
        <Switch disabled={this.state.disabled} defaultChecked />
        <br />
        <Button type="primary" onClick={this.toggle}>
          Toggle disabled
        </Button>
      </>
    );
  }
}

ReactDOM.render(<App />, mountNode);

size="small" represents a small sized switch.

expand codeexpand code
import { Switch } from 'antd';

ReactDOM.render(
  <>
    <Switch defaultChecked />
    <br />
    <Switch size="small" defaultChecked />
  </>,
  mountNode,
);

API#

PropertyDescriptionTypeDefault
autoFocusWhether get focus when component mountedbooleanfalse
checkedDetermine whether the Switch is checkedbooleanfalse
checkedChildrenThe content to be shown when the state is checkedstring | ReactNode-
defaultCheckedWhether to set the initial statebooleanfalse
disabledDisable switchbooleanfalse
loadingLoading state of switchbooleanfalse
sizeThe size of the Switch, options: default smallstringdefault
unCheckedChildrenThe content to be shown when the state is uncheckedstring | ReactNode-
onChangeTrigger when the checked state is changingfunction(checked: boolean, event: Event)-
onClickTrigger when clickedfunction(checked: boolean, event: Event)-
classNameThe additional class to Switchstring-

Methods#

NameDescription
blur()Remove focus
focus()Get focus
SliderTimePicker