前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >基础篇章:关于 React Native 之 Picker 组件的讲解

基础篇章:关于 React Native 之 Picker 组件的讲解

作者头像
非著名程序员
发布于 2018-02-09 07:07:29
发布于 2018-02-09 07:07:29
1.4K00
代码可运行
举报
文章被收录于专栏:非著名程序员非著名程序员
运行总次数:0
代码可运行

(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间)

今天我们就讲Picker ,顾名思义就是选择器。用法也是相当的简单。这里我们直接就看属性吧。

Picker 的属性

  • onValueChange function 当选择器中的某一项被选中的时候进行回调此函数。回调时有如下两个参数:
    • itemValue 被选中项的value属性
    • itemPosition 被选中项所在的索引
  • selectedValue any 默认选中的值,可谓字符串或者整数
  • style pickerStyleType 样式
  • enabled bool android 如果设置为false,就是禁止了选择器,不可用了
  • mode enum('dialog', 'dropdown') android 模式为dialog弹框形式,还是下拉菜单式的
  • prompt string android 设置选择器的提示字符串。在Android的对话框模式中用作对话框的标题。
  • itemStyle itemStylePropType ios 指定应用在每项标签上的样式

Picker实例

来看看实例演示的效果图,如下:

实例代码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Picker,
  Text,
  View
} from 'react-native';

export default class PickerDemo extends Component {
  state = {
    selected:' ',
    dropdown:' ',
  }
  render() {
    return (
      <View style={styles.container}>
       <Picker
            prompt="弹框Dialog"
            style={styles.picker}
            selectedValue={this.state.selected}
            onValueChange={(value)=>this.onValueChange(1,value)}>
            <Picker.Item label="hello" value="key0" />
            <Picker.Item label="world" value="key1" />
             <Picker.Item label="弹框1" value="key2" />
            <Picker.Item label="弹框2" value="key3" />
          </Picker>
          <Picker
            mode={'dropdown'}
            style={{width:150}}
            selectedValue={this.state.dropdown}
            onValueChange={(value)=>this.onValueChange(2,value)}>
            <Picker.Item label="我是下拉菜单1" value="key0" />
            <Picker.Item label="我是下拉菜单2" value="key1" />
            <Picker.Item label="我是下拉菜单3" value="key2" />
            <Picker.Item label="我是下拉菜单4" value="key3" />
          </Picker>
      </View>
    );
  }

  onValueChange = (flag,value) => {
    if(flag ==1){
    this.setState({selected:value});
    }else{
      this.setState({dropdown:value});
    }
  };
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  picker: {
    width: 100,
  },
});

AppRegistry.registerComponent('PickerDemo', () => PickerDemo);

是不是非常简单,如果感觉非常简单,那就赶紧动手吧,看看能不能实现一个心中想要实现的漂亮效果呢?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 非著名程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
React-Native组件之 TabBarIOS和TabBarIOS.Item
TabBarIOS 组件简介 目前的APP内,大部分都是选项与选项之间切换,比如:微信、微博、QQ空间…,在iOS中,我们可以通过TabItem类进行实现,那么,在React Native中,我们可以通过TabBarIOS和TabBarIOS.Item组件来实现选项卡切换效果,大家可以看到后面带有IOS,所以这个组件不支持Android,当然后面我们会通过自定义该组件来满足实际开发需求。 TabBarIOS 常见属性 继承了View的所有属性 barTintColor:标签栏的背景颜色 tintColor:
xiangzhihong
2018/02/06
1.1K0
React-Native组件之 TabBarIOS和TabBarIOS.Item
React Native之Picker组件详解
Picker简介 在iOS和Android中选择器(Picker)是常见的控件之一,比如TimePickr(Android),pickerView(ios),并且这些基本控件可以实现诸如地址选择等效果。在RN开发中,系统也为我们提供Picker控件。应用如下: <Picker selectedValue={this.state.language} onValueChange={(lang) => this.setState({language: lang})}> <Picker.Item lab
xiangzhihong
2018/02/06
5K0
React Native之Picker组件详解
移动跨平台框架ReactNative选择器Picker【18】
如果要从多个 已知的选项 中选择一个,那么可以使用 React Native 内置的 选择器 ``。
江一铭
2022/06/17
7690
移动跨平台框架ReactNative选择器Picker【18】
【React Native 安卓开发】----(Picker)【第四篇】
某一项被选中时执行此回调。调用时带有如下参数: itemValue: 被选中项的value属性 itemPosition: 被选中项在picker中的索引位置
先知先觉
2019/01/21
1.3K0
React Native仿美团下拉菜单
在很多产品中都会涉及到下拉菜单选择功能,用的最好的当属美团了,其效果如下: 要实现上面的效果,在原生中比较好做,直接使用PopWindow组件即可。如果使用React Native开发上面的效果,需
xiangzhihong
2018/01/26
5.3K0
基础篇章:关于 React Native 之 Slider 组件的讲解
(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) 来,讲这个组件之前,我们先学习一下英文单词,Slider ,来跟我一起读:Slider ,哈哈……不逗你们了,slider 是滑块的意思,翻译完,大家就应该知道这个组件的功能和作用了吧?就是一个滑动选择范围中的一个值的组件。 Slider 属性 照例,老样子,在使用之前,看看这个组件的相关属性。如下: disabled bool 如果是true的话,Slider 组件将不能够滑动,默认是fal
非著名程序员
2018/02/09
1.8K0
基础篇章:关于 React Native 之 Slider 组件的讲解
基础篇章:关于 React Native 之 RefreshControl 组件的讲解
(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) 我们已经讲完了 ScrollView 和 ListView ,自然而然我们就应该讲的组件就是下拉刷新的喽,因为它们几个是兄弟,常常一块出现,就跟打麻将似的,四缺一不能打,那它们三就是斗地主,三缺一不能玩。今天讲的这个组件就是它们的兄弟:RefreshControl 。 介绍 我的母亲官网是这么介绍我的,说:我是大家在使用我的兄弟ScrollView或ListView添加拉刷新功能用的,我们几个
非著名程序员
2018/02/09
1.7K0
基础篇章:关于 React Native 之 RefreshControl 组件的讲解
基础篇章:关于 React Native 之 Switch 和 ProgressBarAndroid 组件的讲解
今天我们来讲两个比较简单的组件的使用方法,分别是 Switch 和 ProgressBarAndroid 组件,由于非常简单,所以这两个控件的讲解就直接用一篇文章就够了。 Switch组件 今天我们来讲Switch组件,什么是Switch组件呢?我感觉大家都是做过移动开发的,应该知道是做什么用的。顾名思义:开关,控制组件。在使用它时,我们必须使用onValueChange回调来更新value属性以响应用户的动作。如果不更新value属性,组件只会按一开始给定的value值来渲染且保持不变,看上去就像完全不动
非著名程序员
2018/02/02
1.3K0
基础篇章:关于 React Native 之 Switch 和 ProgressBarAndroid 组件的讲解
基础篇章:React Native 之 TextInput 的讲解
(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) 今天我们讲解的是React Native基础系列之TextInput的讲解,如果想学习更多的开发知识或者移动开发文章,欢迎大家关注我的微信公众号:非著名程序员(smart_android)。 TextInput 是一个允许用户输入文本的基础组件。它有一个onChangeText的属性,该属性接受一个函数,每当文本输入发生变化时,此函数就会被调用。它还有一个onSubmitEditing的属性,
非著名程序员
2018/02/09
2.6K0
基础篇章:React Native 之 TextInput 的讲解
React Native之常用第三方库
前言 React Native出来一年多了,受到各大开发人员的喜爱,但是由于只是专注于View层的开发,因此在很多深层次上还需要结合原生app做一定的兼容,还有就是现在好多控件,如Android中已是系统的控件的sidemenu、checkbox、gridview等,这些在react native中 系统是没有给我们提供的,这时候就借助了第三方开源的力量。 那么我们今天说说在React Native项目开发中常见的一些第三方库。 常见的第三方库 组件篇 CheckBox(多选按钮) react-nati
xiangzhihong
2018/02/05
8.9K0
React Native之常用第三方库
React Native按钮详解|Touchable系列组件使用详解
尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://www.devio.org) 在做App开发过程中离不了的需要用户交互,说到交互,我们首先会想到的就是按钮了,在React Native中没有专门的按钮组件。 为了能让视图能够响应用的的点击事件,我们需要借助Touchablexxx组件,来包裹我们的视图。为什么说是Touchablexxx呢,因为它不只是一个组件,而是一组组件,一下四个组件都可以用来包裹视图来响应用户的点击事件。 TouchableWithoutFeedback:
CrazyCodeBoy
2018/05/07
4.2K0
React Native按钮详解|Touchable系列组件使用详解
基础篇章:关于 React Native 之 Modal 组件的讲解
(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) Modal是模态视图,它的作用是可以用来覆盖 React Native中根视图的原生视图,Modal模态视图是一种覆盖包围当前内容视图的一个简单方法。 注意:如果你需要如何在您的应用程序的其余部分呈现模态的更多控制,那么可以考虑使用顶级导航(top-level Navigator)。 Modal 属性 照例,我想大家都知道我的习惯了,毕竟官网也是这个顺序,那就是在用人之前,先要了解人,毕竟疑人
非著名程序员
2018/02/09
2.6K0
基础篇章:关于 React Native 之 Modal 组件的讲解
基础篇章:关于 React Native 之 ToolbarAndroid 组件的讲解
组件已经讲了不少了,相信大家对React Native都已经有了很多了解和自己的理解了,相信聪明的开发者已经发现了,这些组件的用法和我们原生开发中控件都是类似的,大同小异的,只不过是用的语言不太相同罢了,学得快的同学可以去官网直接看官方文档学习了。今天我们讲ToolbarAndroid,顾名思义,这个组件只能在Android平台用,而且跟Android原生中的Toolbar控件基本一样。 大家好,我是ToolbarAndroid,在React Native中是一个包装了仅限Android平台的工具栏控件的R
非著名程序员
2018/02/02
2.1K0
基础篇章:关于 React Native 之 ToolbarAndroid 组件的讲解
React Native 实现基于react-native-tab-navigator库Tab切换封装
react-native-tab-navigator是一款Tab切换的库,细心的读者可能注意到了对于TabNavigator.Item选项卡部分,代码功能上基本上是重复的,对此,我们能不能对这种有相同
xiangzhihong
2018/02/06
4.1K0
React Native 实现基于react-native-tab-navigator库Tab切换封装
React Native 系列(一) -- JS入门知识
前言 本系列是基于React Native版本号0.44.3写的,最初学习React Native的时候,完全没有接触过React和JS,本文的目的是为了给那些JS和React小白提供一个快速入门,让你们能够在看React Native语法的时候不那么费劲,有过前端开发经验的可以直接忽略。 准备工作 搭建开发环境 首先搭建React Native开发环境,搭建过程就不描述了。(ps:这里笔者默认各位看官已经搭建好了开发环境)。 初始化项目 在终端执行: react-native init Hello
Scott_Mr
2018/05/16
1.8K0
Mac搭建 React Native 工具篇Atom+Nuclide
关于如何在mac下搭建React环境这里就不详细介绍了,有兴趣的朋友可以看:在Mac上搭建RN基础环境,今天要说的是如何在mac下使用Atom+Nuclide组合环境来开发项目。 安装Atom 如果没
xiangzhihong
2018/02/06
2K0
Mac搭建 React Native 工具篇Atom+Nuclide
基础篇章:关于 React Native 之 ViewPagerAndroid 组件的讲解
今天我们来讲解一下关于 ViewPager 的使用,它是一个允许子视图左右滚动翻页的容器。而且每一个 ViewPagerAndroid 的子容器会被视作一个单独的页,并且会被拉伸填满整个 ViewPagerAndroid。 特别注意:ViewPagerAndroid 中所有的子视图必须是,必须是,必须是纯 View 组件,不能是复合的容器和组件。我们可以给每个子视图设置样式,比如:padding 或者 backgroundColor 。 来,我们看一看 ViewPagerAndroid 有哪些属性或者方法呢
非著名程序员
2018/02/02
1.1K0
基础篇章:关于 React Native 之 ViewPagerAndroid 组件的讲解
基础篇章:关于 React Native 之 ListView 组件的讲解
(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) 我们讲完ScrollView组件,其实顺其自然的就应该讲解ListView,对于前段
非著名程序员
2018/02/09
2.1K0
基础篇章:关于 React Native 之 ListView 组件的讲解
基础篇章:关于 React Native 的props,state,style的讲解
(友情提示:RN学习,从最基础的开始,大家不要嫌弃太基础,会的同学请自行略过,希望不要耽误已经会的同学的宝贵时间) React Native看起来很像React,其实React Native就是根据React发展而来的,只不过其基础组件是原生组件而非web组件。所以在体验交互上更加接近原生操作,所以体验比web效果好很多。加上可以跨平台,体验又接近原生,所以自15年以来比较火。 我们要想理解React Native应用的基本结构,我们首先需要先了解一些基本的React的概念,比如JSX语法、组件、state
非著名程序员
2018/02/09
1.8K0
基础篇章:关于 React Native 的props,state,style的讲解
React Native控件只TextInput
TextInput是一个允许用户在应用中通过键盘输入文本的基本组件。本组件的属性提供了多种特性的配置,譬如自动完成、自动大小写、占位文字,以及多种不同的键盘类型(如纯数字键盘)等等。 比如官网最简单的写法: import React, { Component } from 'react'; import { AppRegistry, TextInput } from 'react-native'; class UselessTextInput extends Component { construct
xiangzhihong
2018/02/05
3.7K0
React Native控件只TextInput
推荐阅读
相关推荐
React-Native组件之 TabBarIOS和TabBarIOS.Item
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文