亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

React-Native之TextInput組件的設(shè)置以及如何獲取輸入框的內(nèi)容

 更新時間:2023年05月11日 10:38:45   作者:TimePawnshop.  
這篇文章主要介紹了React-Native之TextInput組件的設(shè)置以及如何獲取輸入框的內(nèi)容問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

React-Native TextInput組件的設(shè)置以及獲取輸入框的內(nèi)容

這兩天在學(xué)習(xí)React-Native的內(nèi)容,發(fā)現(xiàn)RN的input框和原生input有些區(qū)別,特意寫下來供小伙伴們參考。

眾所周知,原生的input輸入框,只要我們寫了input標簽,它就帶有一些默認樣式并展現(xiàn)出來,然而RN中的卻什么樣式也沒有,需要自己手動的把樣式添加上去才可以顯現(xiàn)。

好了,廢話不多說,開始上代碼~

這里我們用到的RN組件:

  • StyleSheet:RN的樣式組件
  • Text:顯示文本組件
  • View:是一個支持flexbox布局等的展示容器
  • TextInput:編輯文本的組件

當(dāng)然了,操作這些肯定是需要一定的環(huán)境的,比如node和XCode等等,本文不做贅述。

本文還是主要介紹怎么在RN中展示一個input框,及獲取其內(nèi)容:

TextInput組件的內(nèi)容部分:
class Myinput extends Component{
    constructor(props){
        super(props);
        this._onChangeText = this._onChangeText.bind(this);
        this.state = {
            showValue:"",
        }
    }
    _onChangeText(inputData){
        console.log("輸入的內(nèi)容",inputData);
        //把獲取到的內(nèi)容,設(shè)置給showValue
        this.setState({showValue:inputData});
    }
    showData(){
        alert(this.state.showValue);//展示輸入框的內(nèi)容
    }
    render(){
        return (<View style={styles.mycontainer}>
                    <TextInput
                        placeholder="請輸入用戶名"
                        editable={true}//是否可編輯
                        style={styles.inputStyle}//input框的基本樣式
                        onChangeText={this._onChangeText}//輸入框改變觸發(fā)的函數(shù)
                    />
                    <TouchableOpacity onPress={this.showData.bind(this)}>
                        <View style={styles.btn}>
                            <Text style={styles.wordC}>搜索</Text>
                        </View>
                    </TouchableOpacity>
                </View>)
    }
}
const styles = StyleSheet.create({
    mycontainer:{
      marginTop:30,
        flexDirection:"row",
    },
    inputStyle:{
        width:280,
        height:30,
        borderColor:"black",
        borderWidth:1,
        marginLeft:5,
    },
    btn:{
        width:85,
        height:30,
        justifyContent:"center",
        alignItems:"center",
        backgroundColor:"green",
        // borderRadius:5
    },
    wordC:{
        color:"white",
        fontSize:18,
    }
})

React-Native自定義TextInput樣式

在react-native中,其實提供的TextInput樣式已經(jīng)非常強大了,但是事實上有時候我們可能需要自己訂制一個樣式已滿足我們的需求,比如這種

所以這篇就是介紹如何去訂制。

如果我們只是把一個默認的TextInput拉出來,會長成這樣最下面這樣

分析一下,我們需要去除下劃線,把背景設(shè)置成白色,同時可以略微調(diào)整一下字體大小。

所以給TextInput添加一個style樣式

<TextInput
    style={styles.edit}
    underlineColorAndroid='transparent'/>
edit: {
        marginTop: 30,
        height: 40,
        fontSize: 20,
        backgroundColor: '#fff'
    },

為了和上面的控件留有一定的距離,我們可以加一個marginTop屬性。

這樣,現(xiàn)在的輸入框就變成了這個樣式了。

離我們的目標還差一點,現(xiàn)在的問題是,雖然我們移除了下劃線,但是文字的部分始終頂在控件的上面??赡軙氲接胒lex布局來調(diào)整位置,不過flex布局是針對其子控件的,在這里TextInput是一個整體控件,文字部分不屬于它的子控件。所以,既然里面不能調(diào)整,我在外面調(diào)整總行了吧。

所以,我們可以套一個萬能的View控件,把這個TextInput放到View的底部,設(shè)置View的高度大于TextInput的高度,這樣多出來的高度就可以彌補上面沒有的空隙啦。同時記得把View也設(shè)置成白色就Ok了。

<View style={styles.view}>
    <TextInput      
        style={styles.edit}
        underlineColorAndroid='transparent'/>
</View>
    edit: {
        height: 40,
        fontSize: 20,
        backgroundColor: '#fff',
        marginLeft: 10,  //左右留出一定的空間
        marginRight: 10
    },
    view: {
        flex: 1,
        marginTop: 10,
        backgroundColor: '#fff',
        height: 51,    //通過大于TextInput的高度來彌補上面的問題
        justifyContent: 'flex-end'  //放置到底部
    }

看代碼就可以很明白了吧,最后為了更加協(xié)調(diào)和美觀,可以給TextInput左右兩邊添加margin值,這樣文字就不會直接抵在最邊上了。

好了,有了一個這樣的思路,相信大家就可以自己訂制自己需要的樣式了。最后來一句,一定要用好View控件?。?!

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • react實現(xiàn)路由動畫跳轉(zhuǎn)功能

    react實現(xiàn)路由動畫跳轉(zhuǎn)功能

    這篇文章主要介紹了react路由動畫跳轉(zhuǎn)功能,大概思路是下載第三方庫?引用,創(chuàng)建css文件引用,想要實現(xiàn)跳轉(zhuǎn)動畫功能,就在那個組件的根節(jié)點綁定classname屬性即可,在跳轉(zhuǎn)的時候即可實現(xiàn),需要的朋友可以參考下
    2023-10-10
  • react-beautiful-dnd 實現(xiàn)組件拖拽功能

    react-beautiful-dnd 實現(xiàn)組件拖拽功能

    這篇文章主要介紹了react-beautiful-dnd 實現(xiàn)組件拖拽功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 詳解在React里使用

    詳解在React里使用"Vuex"

    本篇文章主要介紹了詳解在React里使用"Vuex",小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • React路由組件三種傳參方式分析講解

    React路由組件三種傳參方式分析講解

    本文主要介紹了React組件通信之路由傳參(react-router-dom),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • React中常用的Hook有哪些

    React中常用的Hook有哪些

    這篇文章主要介紹了react hooks實現(xiàn)原理,文中給大家介紹了useState dispatch 函數(shù)如何與其使用的 Function Component 進行綁定,節(jié)后實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • React中完整實例講解Recoil狀態(tài)管理庫的使用

    React中完整實例講解Recoil狀態(tài)管理庫的使用

    這篇文章主要介紹了React中Recoil狀態(tài)管理庫的使用,Recoil的產(chǎn)生源于Facebook內(nèi)部一個可視化數(shù)據(jù)分析相關(guān)的應(yīng)用,在使用React的實現(xiàn)的過程中,因為現(xiàn)有狀態(tài)管理工具不能很好的滿足應(yīng)用的需求,因此催生出了Recoil,對Recoil感興趣可以參考下文
    2023-05-05
  • React項目使用ES6解決方案及JSX使用示例詳解

    React項目使用ES6解決方案及JSX使用示例詳解

    這篇文章主要為大家介紹了React項目使用ES6解決方案及JSX使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 深入理解React Native原生模塊與JS模塊通信的幾種方式

    深入理解React Native原生模塊與JS模塊通信的幾種方式

    本篇文章主要介紹了深入理解React Native原生模塊與JS模塊通信的幾種方式,具有一定的參考價值,有興趣的可以了解一下
    2017-07-07
  • D3.js(v3)+react 實現(xiàn)帶坐標與比例尺的柱形圖 (V3版本)

    D3.js(v3)+react 實現(xiàn)帶坐標與比例尺的柱形圖 (V3版本)

    這篇文章主要介紹了D3.js(v3)+react 制作 一個帶坐標與比例尺的柱形圖 (V3版本) ,本文通過實例代碼文字相結(jié)合的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2019-05-05
  • React?狀態(tài)管理工具優(yōu)劣勢示例分析

    React?狀態(tài)管理工具優(yōu)劣勢示例分析

    這篇文章主要為大家介紹了React?狀態(tài)管理工具優(yōu)劣勢示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01

最新評論