Switch
- category: Components
- chinese: 开关
- type: 基本
何时使用
Switch 是状态切换的开关按钮组件。
API
属性 | 说明 | 类型 | 默认值 |
---|
disabled | 开关是否可交互 | boolean | true |
checked | 开启或关闭(受控用法,需与 onValueChange 配合使用) | boolean | false |
defaultChecked | 默认是否选中(非受控用法) | boolean | false |
onValueChange | Switch 改变时调用此函数 | function(value) | 无 |
受控用法与非受控用法
所有的输入、交互类组件都有受控用法和非受控用法
- 受控用法: 组件状态受到外部传入的 props 影响,外部 props 改变,组件才改变,如下 demo :
constructor() {
super();
this.state = {
checked: true
}
}
change = (value) => {
this.setState({
checked:!value
});
}
render(){
return (<Switch checked={this.state.checked} onValueChange={this.change}/>)
}
- 非受控用法: 组件自身自由改变,并通过事件通知外部改变成了什么。如下 demo :
change = (value) => {
console.log('switch 改变成了:',value);
}
render(){
return (<Switch defaultChecked={true} onValueChange={this.change}/>)
}