随着项目对react native的使用,碰到了很多RN的坑。。。只可惜我不是职业前端,让我一个php来做页面,是在是有些勉强了。。这篇主要是实现RN的单选按钮,上传表单的时候使用的。

github地址:https://github.com/antiantian/radio

**

一、安装组件

**
1、npm i react-native-radio-master –save
2、这个组件不需要npm link
3、项目引用:import RadioModal from ‘react-native-radio-master’;

二、引入组件到项目

1、这个github上有明确的例子,猛的一看好像很麻烦,我们可以先把例子移植到自己的项目中:

import React,{Component} from 'react'
import {View,StyleSheet,Navigator,TouchableHighlight,Text,ScrollView,Image,ListView,
} from 'react-native'
var Dimensions = require('Dimensions');
var width=Dimensions.get('window').width;
var height=Dimensions.get('window').height;
import RadioModal from 'react-native-radio-master';
var datas= [{"selecteId": 13,"content": "Apple","selected": false},{"selecteId": 14,"content": "Banana","selected": false},{"selecteId": 15,"content": "Orange","selected": false},{"selecteId": 16,"content": "Watermelon","selected": true},{"selecteId": 17,"content": "Grape","selected": false}]   export default class RadioModalItem extends Component{constructor(props){super(props);this.state = {language:datas[3].selecteId,item:datas[3].content,initItem:'选项a',initId:'0'};}render(){return (<View style={{padding:20,flex:1,flexDirection:'column'}}><Text style={{backgroundColor:'#ffffff',color:'#414141',padding:5,}}>The selected:<Text style={{color:'#ff0000'}}>{this.state.item}</Text>  </Text>  <Text style={{backgroundColor:'#ffffff',color:'#414141',padding:5,}}>    Unique identification:<Text style={{color:'#ff0000'}}>{this.state.language}</Text></Text><RadioModal
                options={{id:'selecteId',value:'content',disabled:'selected'}}innerStyle={{width:(width-80)/2}}txtColor={'#000000'}noneColor={'#efefef'}selectedValue={this.state.language}onValueChange={(id,item) => this.setState({language: id,item:item})}seledImg={require('./imgs/selected.png')}selImg={require('./imgs/select.png')}selnoneImg={require('./imgs/selectnone.png')}dataOption={datas}style={{ flexDirection:'row',flexWrap:'wrap',alignItems:'flex-start',flex:1,backgroundColor:'#ffffff',padding:5,marginTop:10}} /><Text style={{backgroundColor:'#ffffff',color:'#414141',padding:5,}}>The selected:<Text style={{color:'#ff0000'}}>{this.state.initItem}</Text>    </Text>  <Text style={{backgroundColor:'#ffffff',color:'#414141',padding:5,}}>    Unique identification:<Text style={{color:'#ff0000'}}>{this.state.initId}</Text></Text><RadioModal
                selectedValue={this.state.initId}onValueChange={(id,item) => this.setState({initId: id,initItem:item})}style={{ flexDirection:'row',flexWrap:'wrap',alignItems:'flex-start',flex:1,backgroundColor:'#ffffff',padding:5,marginTop:10}} ><Text value="0">选项a</Text><Text value="1" disabled="true">选项b</Text><Text value="2">选项c</Text><Text value="3">选项d</Text></RadioModal></View>);}
}

2、这里会发现,作者给了两种方式,不过咱们大多数情况下只需要用一种就行,比如我这里:

我这边是把例子的代码删减了一部分,只用我需要的部分。源代码上面,你点击按钮,会显示你点击的哪一个


类似于这样的按钮

三、使用

1、我们需要的是获取选项框的id或者值。我这边需要的是选项框的值,所以:

onValueChange={(id,item) => this.selected({initItem:item})}

改动了一下onValueChange 函数,传给我们的selectd()方法一个参数,该参数就是选项框的值,

我们可以alert一下:

      这里可以看到,我们把需要的选项框的值获取到了。接下来就是根据业务需求,开始你的表演。

end

react native的单选按钮react-native-radio-master相关推荐

  1. Web前端:React Native Web与React — 比较指南

    ​ React 是Facebook开发的用于构建交互式用户界面的JavaScript库.React 在 Apache 许可下作为开源软件提供,可用于个人和商业网站.客户端 Web 应用程序和服务器应用 ...

  2. 【React Native进阶】React Native Gesture Handler的使用

    背景 说到React Navtive的性能优化,首先要了解React Native的运行机制.React Native程序主要运行在三个并行的线程上: JS Thread:我们写的JS代码逻辑都是在这 ...

  3. 如何在React Native中使用React JS Hooks?

    In my articles, I'm going to be using either expo or snack online IDE and android emulator. 在我的文章中,我 ...

  4. 如何使用React,TypeScript和React测试库创建出色的用户体验

    I'm always willing to learn, no matter how much I know. As a software engineer, my thirst for knowle ...

  5. react.js开发_2020 React.js开发人员路线图

    react.js开发 成为阅读JS开发人员的插图指南,其中包含相关课程的链接 React JS或简称React是用于开发Web应用程序的前端或GUI的领先JavaScript库之一. 在Faceboo ...

  6. react 学习路线_2018 React JS路线图

    react 学习路线 成为阅读JS开发人员的插图指南,其中包含相关课程的链接 React JS或简称React是用于开发Web应用程序的前端或GUI的领先JavaScript库之一. 在Faceboo ...

  7. 深入了解React新引擎:React Fiber

    Facebook正在以流行的JavaScript框架React为基础开发一个全新的架构.这个名为React Fiber的全新设计改变了检测变更的方法和时机,借此可改进浏览器端和其他渲染设备的响应速度. ...

  8. 【React 基础】之 React 基本介绍、jsx 规则、模块与组件

    React 全家桶 React 基础 React-Router 路由 PubSub + 消息管理库 Redux 集中式的状态管理 Ant-Design UI 组件库 - React 简介 官网 英文官 ...

  9. 什么是React为什么使用React什么时候使用React

    什么是React? (What is React?) React.js often referred to as React or ReactJS is a JavaScript library re ...

  10. react开发插件-ES7 React/Redux/GraphQL/React-Native snippets

    内容目录 ES7 React/Redux/GraphQL/React-Native snippets 插件 Basic Methods React React Native Redux PropTyp ...

最新文章

  1. poj3468 A Simple Problem with Integers
  2. 以前写的canvas 小游戏 贪吃蛇代码
  3. (转载) 数组a[]={3,5,2,4,1,8},要求从a中找出所有“和”等于10的子集
  4. Flutter开发之JSON及序列化(29)
  5. 在 ubuntu下面利用libpcap编程
  6. 构造方法的调用顺序和成员变量的初始化时机以及动态绑定
  7. 工程计价里面的表以及相关税额的计算
  8. vnpy软件架构分析
  9. iOS14更新了需要注意哪些适配
  10. Word VBA-标题设置
  11. excel筛选排序从小到大_EXCEL表格数据从小到大-Excel如何从小到大排列顺序
  12. windows无法访问指定设备路径或文件
  13. 【致远FAQ】V8.0sp1_单位管理员账号在流程督办监控中撤销流程后,流程中的人员会收到消息提醒吗
  14. 战略管理学习---第2章 战略目标
  15. HTML如何设置幻灯片大小和位置,PPT教程:教你如何在PPT母版中统一标题的位置、大小、样式 | 演示说...
  16. 16岁女孩攻陷著名安全企业HBGary
  17. 软件测试丨Git分支管理实操,搞定在线合并和本地合并
  18. java循环返回结果_Java 循环(for、while)中整数相减结果返回输出/的问题
  19. 8051单片机c语言编程模板,完美的8051单片机C语言编程模板.doc
  20. CASIA-OLHWDB2.0-2.2数据集wptt文件解析

热门文章

  1. mxnet is not presented
  2. jcenter下载慢
  3. No such file or directory: jupyter-1.0.0.dist-info\\METADATA
  4. CircleLoss测试
  5. linux RTX2080显卡驱动
  6. LibTorch NMS
  7. ubuntu 安装gcc 4.8.2
  8. cv2.calcOpticalFlowFarneback integer argument expected, got float
  9. python isinstance type区别
  10. hadoop3.0 分布式搭建/安装