这里是只有苹果的,如果想适配andorid,可以在showPickerFun方法里面使用platefrom判断

代码:

import React, {Component} from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
TouchableOpacity, Picker
} from 'react-native'; var Dimensions = require('Dimensions');
var {width, height} = Dimensions.get("window"); export default class MyApp extends Component { constructor(props) {
super(props);
this.state = {
language: "i",//默认选择的
position: "0",//第几个
showpicker: false,//是否显示picker
surePicker:''//点击确定选择的value
}
} showPickerFun() {
if (this.state.showpicker) {
return <View style={{position: "absolute", bottom: 0, left: 0, backgroundColor: '#0000ff'}}>
<View style={styles.pickerTop}>
<TouchableOpacity onPress={() => this.setState({showpicker: false})}>
<Text>取消</Text>
</TouchableOpacity>
<TouchableOpacity onPress={() => this.setState({showpicker:false,surePicker:this.state.language})}>
<Text>确认</Text>
</TouchableOpacity>
</View>
<Picker
selectedValue={this.state.language}
style={{height: 200, width: width}}
onValueChange={(itemValue, itemIndex) => this.setState({language: itemValue, position: itemIndex})}>
<Picker.Item label="1" value="a" itemStyle={styles.itemStyle}/>
<Picker.Item label="2" value="b"/>
<Picker.Item label="3" value="c"/>
<Picker.Item label="4" value="d"/>
<Picker.Item label="5" value="e"/>
<Picker.Item label="6" value="f"/>
<Picker.Item label="7" value="g"/>
<Picker.Item label="8" value="h"/>
<Picker.Item label="9" value="i"/>
</Picker>
</View>
} else {
return null
}
} render() {
return (
<View style={styles.wrapper}>
<TouchableOpacity onPress={() => this.setState({showpicker: true})}>
<Text>show or hide Picker</Text>
</TouchableOpacity>
{this.showPickerFun()}
<Text style={{marginTop: 20}}>onValueChange事件:{this.state.language}:{this.state.position}</Text>
<Text style={{marginTop: 20}}>点击确定的value:{this.state.surePicker}</Text>
</View>
)
}
} const styles = StyleSheet.create({
wrapper: {
flex: 1,
justifyContent: 'center',
alignItems: 'center'
},
itemStyle: {
width: 100, height: 50,
fontSize: 25,
},
pickerTop: {
height: 34,
justifyContent: 'space-between',//分布方式
flexDirection: 'row',//横向布局
alignItems: 'center',//侧轴居中
paddingLeft: 5,
paddingRight: 5 } });

RN picker使用的更多相关文章

  1. RN组件之Switch与Picker

    一.Switch选择开关控件 1.该组件为Android/IOS通用的两种状态的开关组件 2.属性方法 (1)disabled bool:如果该值为true,用户就无法点击switch开关,默认为fa ...

  2. RN组件备忘录

    1:ActivityIndicator:圆形的loading提示符号. 2:Button:按钮 3:FlatList:高性能列表组件,支持下拉刷新. 4:Image:图片组件,能显示 网络图片.静态资 ...

  3. 颜色采集器colpick Color Picker

    简单 RGB.HSB.十六进制颜色选取器 jQuery 插件. 非常直观类似 Photoshop 的界面. 光明和黑暗很容易自定义 CSS3 外观. 28 KB 总由浏览器加载看起来不错甚至在 IE7 ...

  4. RN安卓原生模块

    https://facebook.github.io/react-native/docs/native-modules-android.html RN实际就是依附在原生平台上,把各种各样的RN组件展示 ...

  5. [RN] React Native 使用 阿里 ant-design

    React Native 使用 阿里 ant-design 实例效果如图: 一.安装 npm install antd-mobile-rn --save npm install babel-plugi ...

  6. 一款轻阅读应用ReadIT,记录我的RN躺坑之旅

    背景 一款轻阅读应用ReadIT,支持功能:优质文章推送.评论点赞.计划制定.计划闹钟.天气预报.收藏文章.深浅两套主题.多语言切换.极光推送等功能.后续还会继续集成功能.前后端均自主研发,借鉴市面较 ...

  7. 基于RN开发的一款视频配音APP(开源)

    在如今React.ng.vue三分天下的格局下,不得不让自己加快学习的脚步.虽然经常会陷入各种迷茫,学得越多会发现不会的东西也被无限放大,不过能用新的技术作出一些小项目小Demo还是会给自己些许自信与 ...

  8. iosselect:一个js picker项目,在H5中实现IOS的select下拉框效果

    具体文档和demo可以访问github:https://github.com/zhoushengmufc/iosselect 移动端浏览器对于select的展示样式是不一致的,ios下是类似原生的pi ...

  9. 16款最佳的 jQuery Time Picker 时间选择插件

    jQuery 插件可以为你做许多事情,你可以很容易地把这些插件集成到您的网站.网络上的 jQuery 日期选择器和日历插件很多,但找不到很满意的时间选择器插件. 在这里,我们收集了最好的一组 jQue ...

随机推荐

  1. expect脚本同步文件 expect脚本指定host和要同步的文件 构建文件分发系统 批量远程执行命令

    自动同步文件 #!/usr/bin/expect set " spawn rsync -av root@.txt /tmp/ expect { "yes/no" { se ...

  2. STL中的map、unordered_map、hash_map

    转自https://blog.csdn.net/liumou111/article/details/49252645 在之前使用STL时,经常混淆的几个数据结构,特别是做Leetcode的题目时,对于 ...

  3. java编程感悟02

    很多时候我们需要网上查阅他人的代码,如果代码比较长或者注释较少,阅读起来就会比较费劲,这时需要培养快速读懂应用他人的代码的能力. 实现图片的旋转功能: import java.awt.geom.Aff ...

  4. angular ng-repeat中DOM的重新渲染机制(项目中遇到问题)

    昨天在项目中遇到一个问题:文本框中输入值只要变化就要请求接口获取数据赋值给couponData,这样性能不好.所以和服务器端沟通改成了服务器端一次性返回所有数据,这样前端只要获取一次数据然后保存在对象 ...

  5. vue使用render渲染&jsx

    vue&jsx文档 vue实例属性 // App.ts import hBtn from './components/hBtn' import hUl from './components/h ...

  6. 《手机端》让多出的导航变水平拖动,不让他 float 撑下去

    /********** 网站底部 **************/ .nav{;;;;white-space: nowrap;overflow: auto;-webkit-overflow-scroll ...

  7. acm入门练习心得

    A题  两数相加等于n相乘等于m 问是否存在两数 写了超级久没有写出来,因为我的思路是 把m的因子都找出来,加加看,看等不等于n.后来发现m的因子还要考虑负数的情况,还要考虑m是不是负数的情况.太过麻 ...

  8. {Django基础八之cookie和session}一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session

    Django基础八之cookie和session 本节目录 一 会话跟踪 二 cookie 三 django中操作cookie 四 session 五 django中操作session 六 xxx 七 ...

  9. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

    前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

  10. [No0000E4]C# 常量

    常量是固定值,程序执行期间不会改变.常量可以是任何基本数据类型,比如整数常量.浮点常量.字符常量或者字符串常量,还有枚举常量. 常量可以被当作常规的变量,只是它们的值在定义后不能被修改. 整数常量 整 ...