- React Native 教程
- React Native - 主頁
- 核心概念
- React Native - 概覽
- React Native - 環境設定
- React Native - 應用
- React Native - 狀態
- React Native - 屬性
- React Native - 樣式
- React Native - Flexbox
- React Native - ListView
- React Native - 文字輸入
- React Native - ScrollView
- React Native - 圖片
- React Native - HTTP
- React Native - 按鈕
- React Native - 動畫
- React Native - 除錯
- React Native - 路由
- React Native - 執行 iOS
- React Native - 執行 Android
- 元件和 API
- React Native - View
- React Native - WebView
- React Native - Modal
- React Native - ActivityIndicator
- React Native - Picker
- React Native - 狀態列
- React Native - 開關
- React Native - 文字
- React Native - 提醒
- React Native - 地理位置
- React Native - AsyncStorage
- React Native 實用資源
- React Native - 快速指南
- React Native - 實用資源
- React Native - 討論
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'
}
})
每當我們在其中一個輸入框中輸入時,狀態都會更新。當我們點選Submit按鈕時,輸入內容將顯示在對話方塊中。
每當我們在其中一個輸入框中輸入時,狀態都會更新。當我們點選Submit按鈕時,輸入內容將顯示在對話方塊中。
廣告