React Native - 文本输入
在本章中,我们将向您展示如何在 React Native 中使用 TextInput 元素。
Home 组件将导入和呈现输入。
App.js
import React from 'react'; import Inputs from './inputs.js' const App = () => { return ( <Inputs /> ) } export default App
输入
我们将定义初始状态。
定义初始状态后,我们将创建 handleEmail 和 handlePassword 函数。这些函数用于更新状态。
login() 函数只会提醒状态的当前值。
我们还将向文本输入添加一些其他属性,以禁用自动大写、删除 Android 设备上的底部边框并设置占位符。
inputs.js
import React, { Component } from 'react' import { View, Text, TouchableOpacity, TextInput, StyleSheet } from 'react-native' class Inputs extends Component { state = { email: '', password: '' } handleEmail = (text) => { this.setState({ email: text }) } handlePassword = (text) => { this.setState({ password: text }) } login = (email, pass) => { alert('email: ' + email + ' password: ' + pass) } render() { return ( <View style = {styles.container}> <TextInput style = {styles.input} underlineColorAndroid = "transparent" placeholder = "Email" placeholderTextColor = "#9a73ef" autoCapitalize = "none" onChangeText = {this.handleEmail}/> <TextInput style = {styles.input} underlineColorAndroid = "transparent" placeholder = "Password" placeholderTextColor = "#9a73ef" autoCapitalize = "none" onChangeText = {this.handlePassword}/> <TouchableOpacity style = {styles.submitButton} onPress = { () => this.login(this.state.email, this.state.password) }> <Text style = {styles.submitButtonText}> Submit </Text> </TouchableOpacity> </View> ) } } export default Inputs const styles = StyleSheet.create({ container: { paddingTop: 23 }, input: { margin: 15, height: 40, borderColor: '#7a42f4', borderWidth: 1 }, submitButton: { backgroundColor: '#7a42f4', padding: 10, margin: 15, height: 40, }, submitButtonText:{ color: 'white' } })
每当我们在其中一个输入字段中输入内容时,状态就会更新。当我们点击提交按钮时,输入的文本将显示在对话框中。
每当我们在其中一个输入字段中输入内容时,状态就会更新。当我们点击提交按钮时,输入的文本将显示在对话框中。