Navigator 传值
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 传值的更多相关文章
- 怎么掌握微信小程序的取值、传值、数据存储
小程序界面设定如下 父级页面:A界面 子级页面:B界面 异级页面:C界面 一.本页面取值(A界面→A界面) a.例如:input输入文字获取到value(键盘输入时触发) wxml: <inpu ...
- 微信小程序:input输入框和form表单几种传值和取值方式
1.传值:index下标传值.页面navigator传值 1.index下标 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.data ...
- React Native导航器Navigator
React Native导航器Navigator 使用导航器可以让你在应用的不同场景(页面)间进行切换.导航器通过路由对象来分辨不同的场景.利用renderScene方法,导航栏可以根据指定的路由来渲 ...
- wx 参数传值
1: data-id 我们可以给HTML元素添加自定义的data-*属性 example: 假设页面里有下面的元素存在: <div id="myDiv" data-nam ...
- 微信小程序之页面传值(路由、页面栈、globalData、缓存)
1. 通过url带参数传递 1.1 固定参数传递 例如,从 list 页面到 detail 页面, 传递一个或多个固定值 list页面传值: <!--pages/list/list.js--&g ...
- Navigator导航器
import React, { Component } from 'react';import { Platform, StyleSheet, Text, View, Navigator, Touch ...
- 关于小程序navigator没有高的情况
传统的web开发者进入小程序的时候,可能有几个映射疑问: div - > view a -> navigator携带参数传值(a标签应该是根据内容来撑高,而navigator就不会根据内 ...
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...
- 微信小程序——详细讲解页面传值(多种方法)
1.使用navigator的url带参传值 (1)在pageA页面有一个固定的值要传递到pageB页面,比如说一个固定的值user_id要传递给B <navigator url=".. ...
随机推荐
- 两个线程并发执行以下代码,假设a是全局变量,那么以下输出______是不可能的?
3.两个线程并发执行以下代码,假设a是全局变量,那么以下输出______是不可能的? void foo(){ ++a; printf("%d ",a);}A.3 2 ...
- NET Framework V4.0.30319
http://www.microsoft.com/zh-cn/download/details.aspx?id=17718
- css常用技巧:input提示文字;placeholder字体修改
1 很多网站都需要更改 <input>内部的placeholder 文字颜色属性:下面来介绍下这个技巧. 2 源代码: <!DOCTYPE html><html> ...
- 关于解决百度sitemap1.0一直提示校验中问题
实际原因是php设置问题,各个版本对应的设置有些不一样. php版本改成就好了. 修复方法:在插件里找到插件:\baidusubmit\inc.找到sitemap.php,查找curl_setopt( ...
- canvas学习日记一
由于工作的需求,促进我学习html5 canvas技术,canvas是html5最强大的元素之一.使用它可以在浏览器中做一番奇妙的事情.大家或多或少都听过canvas的强大用处,我这里就不再赘述了. ...
- thinkjs系统服务启动
- linux 挂载和使用文件系统
从分区,到创建文件系统,再到把磁盘或分区挂载到一个目录后才能够使用. Windows或Mac系统会自动进行挂载,一旦创建好文件系统后会自动挂载到系统上,Windows我们称之为C\D盘,而Linux需 ...
- TunnelBroker for EdgeRouter 后记
最近入手了UBNT EdgeRouter X, 想着用 IPv6在路由上FQ,经过两天折腾,终于正常使用,留下点标记 供后来同学借鉴. TUNNEL的注册和配置,可以完全按这篇文章来: TunnelB ...
- [LeetCode 题解]: ZigZag Conversion
前言 [LeetCode 题解]系列传送门: http://www.cnblogs.com/double-win/category/573499.html 1.题目描述 The string ...
- Tomcat负载均衡原理详解及配置(Apache2.2.19+Tomcat7.0.12)
结构图 JAVA项目一般直接用Tomcat作为Web服务器.为了增加tomcat的性能和稳定性,我们一般采用balance和session同步机制. 下图列出了我们常用也是最简单的解决方案. 说明 1 ...