Switch 开关

开关选择器。

何时使用

  • 需要表示开关状态/两种状态之间的切换时;
  • checkbox的区别是,切换 switch 会直接触发状态改变,而 checkbox 一般用于状态标记,需要和提交操作配合。

代码演示

基本

最简单的用法。

Switch开关 - 图1

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Switch } from 'choerodon-ui';
  4. function onChange(checked) {
  5. console.log(`switch to ${checked}`);
  6. }
  7. ReactDOM.render(<Switch defaultChecked onChange={onChange} />, document.getElementById('container'));

不可用

Switch 失效状态。

Switch开关 - 图2

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Switch, Button } from 'choerodon-ui';
  4. class App extends React.Component {
  5. state = {
  6. disabled: true,
  7. };
  8. toggle = () => {
  9. this.setState({
  10. disabled: !this.state.disabled,
  11. });
  12. };
  13. render() {
  14. return (
  15. <div>
  16. <Switch disabled={this.state.disabled} defaultChecked />
  17. <br />
  18. <Button
  19. style={{ marginTop: '10px' }}
  20. type="primary"
  21. onClick={this.toggle}
  22. >
  23. Toggle disabled
  24. </Button>
  25. </div>
  26. );
  27. }

文字

带有文字和图标。

Switch开关 - 图3

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Switch } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <div>
  6. <Switch checkedChildren="开" unCheckedChildren="关" defaultChecked />
  7. <br />
  8. <Switch checkedChildren="1" unCheckedChildren="0" />
  9. </div>,
  10. document.getElementById('container'));

两种大小

size="small" 表示小号开关。

Switch开关 - 图4

  1. import React from 'react';
  2. import ReactDOM from 'react-dom';
  3. import { Switch } from 'choerodon-ui';
  4. ReactDOM.render(
  5. <div>
  6. <Switch defaultChecked />
  7. <br />
  8. <Switch size="small" defaultChecked />
  9. </div>,
  10. document.getElementById('container'));

API

参数说明类型默认值
autoFocus组件自动获取焦点booleanfalse
checked指定当前是否选中booleanfalse
checkedChildren选中时的内容string|ReactNode
defaultChecked初始是否选中booleanfalse
disabled是否禁用booleanfalse
loading加载中的开关booleanfalse
size开关大小,可选值:default smallstringdefault
unCheckedChildren非选中时的内容string|ReactNode
onChange变化时回调函数Function(checked:Boolean)
checkedValue选中值object
unCheckedValue非选中值object

方法

名称描述
blur()移除焦点
focus()获取焦点