rntpc_react-native-switch-pro:基于 React Native 的通用开关组件项目

基于 react-native-switch-pro 的 OpenHarmony 适配版,高性能开关(Switch)组件,支持手势拖动

分支4Tags3
文件最后提交记录最后更新时间
6 年前
8 年前
8 年前
9 年前
4 个月前
7 年前
6 年前

react-native-switch-pro

版本 下载量 总下载量
一款适用于 Android 和 iOS 的通用开关组件,堪称 GitHub 上最优秀的 React Native 开关控件。

预览

   

特性

  • React Native 平台上近乎完美的开关组件
  • 在 iOS 和 Android 设备上均表现优异
  • 集成 PanResponder 手势支持
  • 采用更多动画效果以匹配 iOS 原生体验
  • 支持异步与同步事件
  • 支持双向数据绑定
  • 代码风格清晰规范

安装

npm install react-native-switch-pro --save

使用方式

  • 同步模式
import Switch from 'react-native-switch-pro'
...
  render() {
    return (
      <View style={styles.container}>
        <Switch onSyncPress={value => {...}}/>
      </View>
    )
  }
...
  • 异步
...
  render() {
    return (
      <View style={styles.container}>
        <Switch onAsyncPress={(callback) => {
          You can call your async module and just invoke callback(true) when succeed,  
          callback(false) when fail.
        }}/>
      </View>
    )
  }
...

属性

名称 说明 默认值 类型
width 开关宽度 40 number
height 开关高度 21 number
value 开关状态(支持双向绑定) undefined bool
disabled 是否禁用点击 false bool
circleColorActive 开启状态下圆形把手的颜色 white string
circleColorInactive 关闭状态下圆形把手的颜色 white string
style 应用于开关容器的样式 undefined style
circleStyle 应用于圆形把手的样式 undefined style
backgroundActive 开启状态下的背景色 green string
backgroundInactive 关闭状态下的背景色 '#ddd' string
onSyncPress 点击开关时的同步回调 () => null func
onAsyncPress 带异步结果回调的函数 (value, callback) => {callback(true)} func

注意事项

  • 请避免同时使用 onSyncPressonAsyncPress,否则仅 onSyncPress 会生效。

  • value 属性支持与 redux、state 等进行双向绑定。
    onAsyncPress 中需按以下方式编写(以 state 为例):

    <Switch
      value={this.state.value}
      onAsyncPress={(callback) => {
        callback(falsetrue, value => this.setState({value}))
     }}
    />
    

    value => this.setState({value}) 仅在返回结果为 true 时执行。

开源协议

MIT

也许我需要您的帮助

很荣幸能为您开发这个库。
目前我正在寻找一份理想的新工作,如果您能提供机会,请点击这里查看详情。

项目介绍

基于 react-native-switch-pro 的 OpenHarmony 适配版,高性能开关(Switch)组件,支持手势拖动

定制我的领域