编辑:进一步检查后,似乎这只发生在Android 6.0.1。在使用6.0的几款设备上尝试过,这不是问题。反应本机文本输入清除不清除文本
我有一个非常简单的React Native代码片段,我想要清除TextInput中的文本。它看起来有点像这样:
state = {
v: ""
};
_changeText = v => {
this.setState({ v });
};
clear =() => {
this.textInputRef.clear();
}
render() {
return (
<View style={styles.container}>
<TouchableOpacity onPress={this.clear}>
<Text> Clear </Text>
</TouchableOpacity>
<TextInput
ref={ref => this.textInputRef = ref}
value={this.state.v}
onChangeText={this._changeText}
/>
</View>
);
}
现在我期望的行为是该离开的焦点的文本输入,并清除文本。这就是发生了什么 - 然而,当我开始在键盘上输入内容时,我先前清除的文本再次出现在文本输入中。显然这种文本的持久性并不是真正需要的。
您有没有遇到过这个问题?这是一个RN错误还是有没有办法避免这种行为,而不需要模糊键盘?
这里有一小段来澄清我的意思是:https://snack.expo.io/H1S9b5Mpe。
如果您开始输入,请按清除,然后继续输入,之前显示的文本将显示在您新输入的文本之前。
您是否尝试清除状态? –
您可以在此处找到此问题的解决方法:http://stackoverflow.com/questions/37798584/react-native-when-submitting-a-text-input-in-android-the-word-suggestions-are –
解决方法确实有效。这显然并不理想,但我们仅将其应用于存在问题的设备。 –