• Switch开关
    • 何时使用
    • 代码演示
    • API
    • 方法

    Switch开关

    开关选择器。

    何时使用

    • 需要表示开关状态/两种状态之间的切换时;

    • checkbox的区别是,切换 switch 会直接触发状态改变,而 checkbox 一般用于状态标记,需要和提交操作配合。

    代码演示

    Switch 开关 - 图1

    基本

    最简单的用法。

    1. import { Switch } from 'antd';
    2. function onChange(checked) {
    3. console.log(`switch to ${checked}`);
    4. }
    5. ReactDOM.render(<Switch defaultChecked onChange={onChange} />, mountNode);

    Switch 开关 - 图2

    文字和图标

    带有文字和图标。

    1. import { Switch, Icon } from 'antd';
    2. ReactDOM.render(
    3. <div>
    4. <Switch checkedChildren="开" unCheckedChildren="关" defaultChecked />
    5. <br />
    6. <Switch checkedChildren="1" unCheckedChildren="0" />
    7. <br />
    8. <Switch
    9. checkedChildren={<Icon type="check" />}
    10. unCheckedChildren={<Icon type="close" />}
    11. defaultChecked
    12. />
    13. </div>,
    14. mountNode,
    15. );

    Switch 开关 - 图3

    加载中

    标识开关操作仍在执行中。

    1. import { Switch } from 'antd';
    2. ReactDOM.render(
    3. <div>
    4. <Switch loading defaultChecked />
    5. <br />
    6. <Switch size="small" loading />
    7. </div>,
    8. mountNode,
    9. );

    Switch 开关 - 图4

    不可用

    Switch 失效状态。

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

    Switch 开关 - 图5

    两种大小

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

    1. import { Switch } from 'antd';
    2. ReactDOM.render(
    3. <div>
    4. <Switch defaultChecked />
    5. <br />
    6. <Switch size="small" defaultChecked />
    7. </div>,
    8. mountNode,
    9. );

    API

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

    方法

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