ReactNative學(xué)習(xí)筆記(六)處理文本輸入&觸摸事件

文本輸入

允許用戶(hù)輸入文本的基礎(chǔ)組件——TextInput詳細(xì)文檔地址
有兩個(gè)監(jiān)聽(tīng)事件屬性—— onChangeText (監(jiān)聽(tīng)文本變化)、onSubmitEditing(監(jiān)聽(tīng)提交文本事件,體現(xiàn)在手機(jī)上就是用戶(hù)按下軟鍵盤(pán)上的提交鍵)

export default class BlinkApp extends Component {
    state = {text:''};
    render(){
        return(
            <View>
                <TextInput
                    style={{height:40}}
                    placeholder="Type here to translate!"
                    onChangeText={(text)=>{this.setState({text})}}
                    onSubmitEditing={(t)=>{alert(t.nativeEvent.text)}}
                    value={this.state.text}
                />
                <Text style={{padding: 10, fontSize: 42}}>
                    {this.state.text.split(' ').map((word)=> word&&'pika').join(' ')}
                </Text>
            </View>
        )
    }
}

觸摸事件

React Native提供了可以處理常見(jiàn)觸摸手勢(shì)的組件 以及可用于識(shí)別更復(fù)雜手勢(shì)的完整的手勢(shì)響應(yīng)系統(tǒng)

跨平臺(tái)的按鈕組件——button,默認(rèn)情況在 iOS 上渲染一個(gè)藍(lán)色的標(biāo)簽狀按鈕,在 Android 上則會(huì)渲染一個(gè)藍(lán)色圓角矩形帶白字的按鈕。

<Button
   onPress={() => {
    Alert.alert("你點(diǎn)擊了按鈕!");
  }}
  onLongPress
  title="點(diǎn)我!"
/>

Touchable系列組件

  • TouchableHighlight
    用來(lái)制作按鈕或鏈接,組件會(huì)在用戶(hù)手指按下時(shí)變暗

  • TouchableOpacity
    在用戶(hù)手指按下時(shí)降低按鈕的透明度

  • TouchableWithoutFeedback
    處理點(diǎn)擊事件的同時(shí),不顯示任何視覺(jué)反饋

  • TouchableNativeFeedback
    在Android上,會(huì)在用戶(hù)手指按下時(shí)形成類(lèi)似墨水漣漪的視覺(jué)效果。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容