Back to Ant Design

Switch

components/switch/index.zh-CN.md

6.3.72.7 KB
Original Source

何时使用 {#when-to-use}

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

代码演示 {#examples}

<!-- prettier-ignore -->

<code src="./demo/basic.tsx">基本</code> <code src="./demo/disabled.tsx">不可用</code> <code src="./demo/text.tsx">文字和图标</code> <code src="./demo/size.tsx">两种大小</code> <code src="./demo/loading.tsx">加载中</code> <code src="./demo/component-token.tsx" debug>自定义组件 Token</code> <code src="./demo/style-class.tsx" version="6.0.0">自定义语义结构的样式和类</code>

API

通用属性参考:通用属性

参数说明类型默认值版本
checked指定当前是否选中booleanfalse
checkedChildren选中时的内容ReactNode-
classNameSwitch 器类名string-
classNames用于自定义组件内部各语义化结构的 class,支持对象或函数Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string>-
defaultChecked初始是否选中booleanfalse
defaultValuedefaultChecked 的别名boolean-5.12.0
disabled是否禁用booleanfalse
loading加载中的开关booleanfalse
size开关大小,可选值:medium smallstringmedium
styles用于自定义组件内部各语义化结构的行内 style,支持对象或函数Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties>-
unCheckedChildren非选中时的内容ReactNode-
valuechecked 的别名boolean-5.12.0
onChange变化时的回调函数function(checked: boolean, event: Event)-
onClick点击时的回调函数function(checked: boolean, event: Event)-

方法

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

Semantic DOM

<code src="./demo/_semantic.tsx" simplify="true"></code>

主题变量(Design Token){#design-token}

<ComponentTokenTable component="Switch"></ComponentTokenTable>

FAQ

为什么在 Form.Item 下不能绑定数据? {#faq-binding-data}

Form.Item 默认绑定值属性到 value 上,而 Switch 的值属性为 checked。你可以通过 valuePropName 来修改绑定的值属性。

tsx
<Form.Item name="fieldA" valuePropName="checked">
  <Switch />
</Form.Item>