您好,登錄后才能下訂單哦!
由于最近一直在做公司的項(xiàng)目,而且比較急。如今項(xiàng)目已經(jīng)迭代到第三期,可以緩一緩了。。。
說(shuō)實(shí)話,最近一直再用android做開(kāi)發(fā),而且時(shí)間也不寬裕,react-native有點(diǎn)生疏了。
好了,廢話不多說(shuō),今天在做登錄界面的時(shí)候,我發(fā)現(xiàn),登錄注冊(cè)的文本框樣式都是一個(gè)樣的,如果一個(gè)一個(gè)的寫,就會(huì)顯得有些麻煩了,于是我就簡(jiǎn)單的封裝了一下TextInput這一個(gè)組件
上圖就是我放到登錄界面的效果啦。
代碼:
import React, { Component } from 'react'; import { Text, TextInput, View, PropTypes, StyleSheet, ToastAndroid } from 'react-native' class TextInputLogin extends Component { static propTypes = { name: React.PropTypes.string, txtHide: React.PropTypes.string, ispassword: React.PropTypes.bool } static defaultProps = { name: '名稱', txtHide: '內(nèi)容', ispassword: false, } constructor (props) { super (props) this.state = { txtValue: "", } } render () { var { style, name, txtHide, ispassword } = this.props return( <View style={styles.container,style}> <View style={styles.txtBorder}> <Text style={styles.txtName}>{name}</Text> <TextInput underlineColorAndroid = {'transparent'} style={styles.textInput} multiline={false} placeholder={txtHide} password={ispassword} onChangeText={(text) => { this.setState({ txtValue: text }) }} value={this.state.txtValue} /> </View> </View> ) } getValue () { return this.state.txtValue } } const styles = StyleSheet.create({ container: { flex: 1, alignItems: 'center', flexDirection: 'row' }, txtBorder: { height: 50, flex: 1, borderWidth: 1, borderColor: '#51A7F9', marginLeft: 50, marginRight: 50, borderRadius: 25, flexDirection: 'row' }, txtName: { height: 20, width: 40, marginLeft: 20, fontSize: 15, marginTop: 15, color: '#51A7F9', marginRight: 10, fontSize: 14 }, textInput: { height: 50, width: 200 } }) module.exports = TextInputLogin;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。