Switch 3.0.0

开关组件,在checkbox基础上封装,具有打开关闭以及过程动画、

  • 支持设置禁用
  • 可配合样式扩展自定义样式,对颜色的修改请传入activeColor&defaultColor
使用说明

引用方式

import { Switch } from '$yo-component';

// 如果你的项目中未使用最新的 ykit-config-yo 插件,可能无法使用上面这个语法糖
// 你仍然可以通过下面这种方式来引用
import Switch from 'yo3/component/switch';

基本用法

展示一个开关组件,switch1 为当前选中的状态。由于这是一个受控的组件,所以需要通过 onChange 回调来设置当前值。

<Switch
  checked={this.state.switch1}
  onChange={(value) => { this.getValue('switch1', value); }}
/>

禁用组件

展示一个处于不可操作状态的 switch 组件 checked 表示当前的组件的状态。

<Switch disabled checked={false} />
<Switch disabled />

自定义样式扩展

自定义扩展样式需要在 sass 中配合使用yo-switch 扩展。

/**
 * yo-switch 扩展
 * @param  {[type]} name   扩展名
 * @param  {[type]} on-bgcolor 定义switch激活背景色
 * @return {[type]} bgcolor     定义switch背景色
 * @return {[type]} follow-bgcolor   定义switch跟随背景色
 * @return {[type]} thumb-color     定义switch滑块色
 */
@include yo-switch(blue,#43cee6);

并将扩展后的类名通过 extraClass 传给 switch 组件。如果更改了 active 状态时的颜色,需要通过 activeColor 传给组件。

<Switch
  checked={this.state.switch3}
  onChange={(value) => { this.getValue('switch3', value); }}
  activeColor="#43cee6"
  extraClass="yo-switch-blue"
/>
属性

disabled { Bool } #

是否禁用switch组件 禁用switch后,UI操作不会影响到switch Value的变化

默认值: false

checked { Bool } #

当前switch组件的值

默认值: true

extraClass { String } #

额外添加到根节点上的className

onChange { Function } #

value值发生变化的时候触发

activeColor { String } #

activeColor 响应颜色 当组件处于拖动状态时而非结果状态时需要JS辅助设置背景色 当用户扩展switch样式改变颜色时需要传入

默认值: '#4bd763'

defaultColor { String } #

defaultColor 关闭时的颜色 当组件处于拖动状态时而非结果状态时需要JS辅助设置背景色 当用户扩展switch样式改变颜色时需要传入

默认值: '#fafafa'