category: Components type: UI Views component: Form chinese: 开关 english: SwitchField source: next-switch
何时使用
开/关切换器切换单个设置选项的状态。开关控制器中的选项,以及它所在的状态,应该用伴随的内联标签显示清楚。开关选择器具有和单选按钮一样的视觉属性。使用文本“开”和“关”滑动切换已经过时了。使用这里显示的开关选择器代替。
使用注意
- 对于checkChildren和unCheckedChildren的自定义要考虑文字大小,因为switch的宽度有限,默认一个汉字大小。如果设置成多个字或者英文要注意宽度控制。
- size 等于small时不支持文案和Icon设置
API
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
prefix | 样式类名的品牌前缀 | String | 'next-' |
className | 自定义类名 | String | - |
style | 自定义内敛样式 | Object | - |
checkedChildren | 打开时的内容 | any | - |
unCheckedChildren | 关闭时的内容 | any | - |
onChange | 开关状态改变是触发此事件 签名: Function(checked: Boolean, e: Event) => void 参数: checked: {Boolean} 是否为打开状态 e: {Event} DOM事件对象 |
Function | () => { } |
checked | 开关当前的值(针对受控组件) | Boolean | - |
defaultChecked | 开关默认值 (针对非受控组件) | Boolean | - |
disabled | 表示开关被禁用 | Boolean | false |
size | switch的尺寸,可选值为medium, small(small不支持文案和Icon设置) | String | 'medium' |
onClick | 鼠标点击事件 签名: Function(e: Event) => void 参数: e: {Event} DOM事件对象 |
Function | - |
onKeyDown | 键盘按键事件 签名: Function(e: Event) => void 参数: e: {Event} DOM事件对象 |
Function | - |
label | label 标签的文本 | ReactNode | - |
labelCol | label 标签布局,通 <Col> 组件,设置 span offset 值,如 {span: 8, offset: 16},该项仅在垂直表单有效 |
Object | - |
help | 提示信息,如不设置,则会根据校验规则自动生成. 如果设置会受控(ps: 可以利用这点自定义错误位置,详细看demo自定义错误) | ReactNode | - |
validateStatus | 校验状态,如不设置,则会根据校验规则自动生成可选值:'''success'(成功)'error'(失败)'loading'(校验中) | Enum | - |
hasFeedback | 配合 validateStatus 属性使用,是否展示校验状态图标, 目前只有Input支持 | Boolean | false |
wrapperCol | 需要为输入控件设置布局样式时,使用该属性,用法同 labelCol | Object | - |
extra | 额外的提示信息,和 help 类似,当需要错误信息和提示文案同时出现时,可以使用这个。 位于错误信息后面 | ReactNode | - |
inputStyle | 表单输入框自定义内联样式 | Object/String | null |
showValidateType | 应用于Field 类元素后,指定其展示错误的方式,可选值有 help 、tooltip 两种 |
String | help |
name |
walle 模式下才支持 可以配合表单Form 收集表单元素的数据,要求表单必须指定 field 属性 |
String | '' |
rules |
walle 模式下才支持 配置表单规则,可以配置多个规则,可参考:async-validator,注意Form 表单必须配置field 属性才会生效 |
Array | null |
x-bind |
walle 模式下才支持 双向绑定某一个变量 |
state | null |
键盘支持
- 支持键盘控制,tab选中后按回车进行状态切换。