我刚刚放置了一个 TextInput,KeyboardType ={"numeric"}
,试图查找用户是否输入了“-”,如果是,则需要在 OnChange 中首先使用 event.preventDefault()
。后来尝试在 onKeyPress 中操作,但 onKeyPress 没有触发,我只是尝试这样做,但它允许我输入并显示警告合成事件性能问题。
大家帮帮我。
我刚刚放置了一个 TextInput,KeyboardType ={"numeric"}
,试图查找用户是否输入了“-”,如果是,则需要在 OnChange 中首先使用 event.preventDefault()
。后来尝试在 onKeyPress 中操作,但 onKeyPress 没有触发,我只是尝试这样做,但它允许我输入并显示警告合成事件性能问题。
大家帮帮我。
const App =()=>{
const handleKeyPress = ({ nativeEvent: { key: keyValue } }) => {
console.log(keyValue);
if(keyValue === 'Enter')
{
console.log("enter");
}
};
return(
<View>
<TextInput
placeholder="Your Password"
placeholderTextColor="#666666"
style={styles.inputSearch}
// onEndEditing={(e)=>handleValidUser(e.nativeEvent.text)}
onKeyPress={handleKeyPress}
/>
</View>
)
}
<Input onKeyPress = {this.keyPress} />
keyPress函数
keyPress = (event) => {
/* this line will solve your error */
event.persist();
console.log(event);
}
像这样:
<TextInput onChangeText = {(text) => this.getPhone(text)} keyboardType="numeric" autoCapitalize="none" autoCorrect={false} onSubmitEditing={ () => this.addressInput.focus()} style={styles.input} placeholder="phone" placeholderTextColor="rgba(255,255,255,0.6)" underlineColorAndroid="rgba(0,0,0,0.0)" returnKeyType="next"/>
getPhone = (text) => {
this.setState({phone: text})
//use your logic here
}