ReactNative输入组件TextInput的使用方法

输入组件TextInput就是让用户输入数据的,比如输入登录有用户名,输入登录密码,除了简单的单行输入框外,还可以用于输入大量的文本,比如输入用户反馈,输入用户说明等
React Native–输入组件TextInput
TextInput组件是React Native的内置组件,不需要做额外的安装
引入组件
需使用输入组件Textinput,必须先引入
import {TextInput} from ‘react-native’
案例

import React,{Component} from 'react';
import {View,Text,TouchableOpacity,TextInput,StyleSheet} from 'react-native';

class Inputs extends Component{
  state={
    email:'',
    password:'',
    intro:'',
  }
  handleEmail=(text)=>{
    this.setState({email:text})
  }
  handlePassword=(text)=>{
    this.setState({password:text})
  }
  handleIntro=(text)=>{
    this.setState({intro:text})
  }
  register=(email,pass,intro)=>{
    alert('email:'+email+'\npassword:'+pass+"\nintro:"+intro)
  }
  render(){
    return(
      <View style={styles.container}>
        <TextInput 
        style={styles.input}
        //下划线的颜色,透明则为transparent
        underlineColorAndroid="transparent"
        // 占位符
        placeholde="请输入邮箱"
        // 占位符的字体颜色
        placeholderTextColor="#ccc"
        // 字母大写模式:'none','sentences','words','characters'
        autoCapitalize="none"
        // 键盘类型,可选的值有“default,"number-pad","decimal-pad","numeric","email-address","phone-pad"
        keyboardType="email-address"
        //键盘上的返回键类型,可选的值有"done",go,next,search,send
        returnKeyType="next"
        //文本变更后的会掉函数,参数为输入框里的文本
        onChangeText={this.handleEmail}
        />
        <TextInput
        style={styles.input}
        underlineColorAndroid="transparent"
        placeholder="请输入密码"
        placeholderTextColor="#ccc"
        autoCapitalize="none"
        returnKeyType="next"
        //是否属于密码框类型
        secureTextEntry={true}
        onChangeText={this.handlePassword}
        />

        <TextInput 
        style={[styles.input,{height:100}]}
        underlineColorAndroid="transparent"
        placeholder="请输入描述"
        placeholderTextColor="#ccc"
        autoCapitalize="none"
        //多行设置
        multiline={true}
        //行数
        numberOfLines={4}
        //文字的位置考上
        textAlignVertical="top"
        returnKeyType="done"
        onChangeText={this.handleIntro}
        />
        {/* 封装视图,使其可以正确响应触摸操作 */}
        <TouchableOpacity
        style={styles.submitButton}
        onPress={
          ()=>this.register(this.state.email,this.state.password,this.state.intro)
        }>
        <Text style={styles.submitButtonText}>注册</Text>
      </TouchableOpacity>
      </View>
    )
  }
}

export default Inputs

const styles=StyleSheet.create({
  container:{
    paddingTop:23
  },
  input:{
    margin:15,
    paddingLeft:8,
    height:40,
    borderColor:'#eeeeee',
    borderWidth:1
  },
  submitButton:{
    backgroundColor:'#7a42f4',
    padding:10,
    alignItems:'center',
    margin:15,
    height:40,
  },
  submitButtonText:{
    color:'white'
  }
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值