iOS 导航器

http://wiki.jikexueyuan.com/project/react-native/navigator-ios.html

import React, { Component } from 'react';
import {
Platform,
StyleSheet,
Text,
View,
Navigator,
TouchableOpacity,
TextInput } from 'react-native'; //从前一个页面 向 后一个页面 传值
//定义InputPage 输入框 按钮
var InputPage = React.createClass({
getInitialState:function () {
return{
//记录输入框的值
content:" "
}
},
getInputContent:function (inputText) {
//记录值
this.setState({
content:inputText
}); },
pushNextPage:function () {
//推出下一页面,并传值 var route ={
component:DetailPage,
passProps:{
//将输入框的内容 传递给下一个页面
showText:this.state.content
}
} this.props.navigator.push(route) }, render:function () {
return(
<View style={inputStyel.container}>
<TextInput
style={inputStyel.input}
placeholder="请输入内容"
onChangeText={this.getInputContent}//事件,当文本改变的时候触发
/>
<TouchableOpacity style={inputStyel.btn} onPress={this.pushNextPage}>
<Text>进入下一页</Text>
</TouchableOpacity>
</View>
)
} });
var inputStyel = StyleSheet.creat({
container:{
flex:1,
justifyContent:'center',
alignItems:'center',
backgroundColor:'white'
},
input:{
height:45,
marginLeft:25,
marginRight:25,
paddingLeft:5,
borderwi:1,
borderColor:'black',
borderRadius:4
},
btn:{
marginTop:20,
height:30,
borderWidth:1,
borderColor:'black',
borderRadius:4,
padding:5,
justifyContent:'center',
alignItems:'center'
}
}); //第二个页面, 显示文本 var DetailPage = React.createClass({ popFrontPage:function () {
//返回上一级
this.props.navigator.pop(); }, render:function () {
return(
<View style={detailStyle.container}>
{/*//直接从属性中获取值*/}
<Text style={detailStyle.text}>{this.props.showText}</Text>
<TouchableOpacity style={detailStyle.btn} onPress={this.popFrontPage}>
<Text>返回上一页</Text>
</TouchableOpacity>
</View>
)
} }); var detailStyle = React.createClass({
container:{
flex:1,
justifyContent:'center',
alignItems:'center',
backgroundColor:'white'
} ,
text:{
marginLeft:25,
marginRight:25,
padding:25,
backgroundColor:'whtie',
fontSize:18,
textAlign:'center' },
btn:{
marginTop:20,
height:30,
borderWidth:1,
borderColor:'black',
borderRadius:4,
padding:5,
justifyContent:'center',
alignItems:'center'
} }); var LessionNavigator = React.createClass({ render:function () {
//定义一个对象
var rootRoute={
component:InputPage,
//存储需要传递的内容
passProps:{ }
}; return(
<View style={{flex:1}}>
<Navigator
initialRoute={rootRoute} renderScene={(route,navigator) => {
var Component = route.navigator;
return(
<Component
navigator={navigator}
route={route}
//重点: 将route所有内容,赋给navigator
{...route.passProps}
/>
) }} />
</View>
) } }); var styles = StyleSheet.create({ }); module.exports = LessonNavigator;

Navigator 传值的更多相关文章

  1. 怎么掌握微信小程序的取值、传值、数据存储

    小程序界面设定如下 父级页面:A界面 子级页面:B界面 异级页面:C界面 一.本页面取值(A界面→A界面) a.例如:input输入文字获取到value(键盘输入时触发) wxml: <inpu ...

  2. 微信小程序:input输入框和form表单几种传值和取值方式

    1.传值:index下标传值.页面navigator传值 1.index下标 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.data ...

  3. React Native导航器Navigator

    React Native导航器Navigator 使用导航器可以让你在应用的不同场景(页面)间进行切换.导航器通过路由对象来分辨不同的场景.利用renderScene方法,导航栏可以根据指定的路由来渲 ...

  4. wx 参数传值

    1: data-id 我们可以给HTML元素添加自定义的data-*属性 example:   假设页面里有下面的元素存在: <div id="myDiv" data-nam ...

  5. 微信小程序之页面传值(路由、页面栈、globalData、缓存)

    1. 通过url带参数传递 1.1 固定参数传递 例如,从 list 页面到 detail 页面, 传递一个或多个固定值 list页面传值: <!--pages/list/list.js--&g ...

  6. Navigator导航器

    import React, { Component } from 'react';import { Platform, StyleSheet, Text, View, Navigator, Touch ...

  7. 关于小程序navigator没有高的情况

    传统的web开发者进入小程序的时候,可能有几个映射疑问: div  - > view a -> navigator携带参数传值(a标签应该是根据内容来撑高,而navigator就不会根据内 ...

  8. 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结

    史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...

  9. 微信小程序——详细讲解页面传值(多种方法)

    1.使用navigator的url带参传值 (1)在pageA页面有一个固定的值要传递到pageB页面,比如说一个固定的值user_id要传递给B <navigator url=".. ...

随机推荐

  1. paho_c_pub 使用方法

    Latest Paho Status (2) 摘自:http://modelbasedtesting.co.uk/ I last wrote about the state of Paho in Oc ...

  2. c linux ping 实现

    摘自:https://blog.csdn.net/weibo1230123/article/details/79891018 ping的实现和代码分析一.介绍     ping命令是用来查看网络上另一 ...

  3. eclipse (android环境搭建)

    如何安装java环境 http://jingyan.baidu.com/article/a24b33cd59b58e19fe002bb9.html eclipse安装教程 http://jingyan ...

  4. Selenium运用-漫画批量下载

    今天我们要爬去的网站是http://comic.sfacg.com/.漫画网站一般都是通过JavaScript和AJAX来动态加载漫画的,这也就意味着想通过原来爬取静态网站的方式去下载漫画是不可能的, ...

  5. HDU 4352 XHXJ's LIS (数位DP+LIS+状态压缩)

    题意:给定一个区间,让你求在这个区间里的满足LIS为 k 的数的数量. 析:数位DP,dp[i][j][k] 由于 k 最多是10,所以考虑是用状态压缩,表示 前 i 位,长度为 j,状态为 k的数量 ...

  6. Word2010如何编辑好了直接发布csdn博文?

    目前大部分的博客作者在写博客这件事情上都会遇到以下3个痛点:1.所有博客平台关闭了文档发布接口,用户无法使用Word,Windows Live Writer等工具来发布博客.2.发布到博客或公众号平台 ...

  7. 编写高质量代码改善C#程序的157个建议——建议132:考虑用类名作为属性名

    建议132:考虑用类名作为属性名 一般来说,若果属性对应一个类型,应该直接用类型名命名属性名.如下: class Person { public Company Company { get; set; ...

  8. 【Android开发精要笔记】Android组件模型解析

    Android组件模型解析 Android中的Mashup 将应用切分成不同类别的组件,通过统一的定位模型和接口标准将他们整合在一起,来共同完成某项任务.在Android的Mashup模式下,每个组件 ...

  9. gulp-usemin 插件使用

    关于什么是gulp,它和grunt有什么区别等问题,这里不做任何介绍.本文主要介绍如何使用gulp-usemin这款插件,同时也会简单介绍本文中用到的一些插件. 什么是gulp-usemin 用来将H ...

  10. [Asp.net Mvc]为js,css静态文件添加版本号

    方式一: 思路 string version = ViewBag.Version; @Scripts.RenderFormat("<script type=\"text/ja ...