編集:これ以上調べると、これはAndroid 6.0.1でのみ発生するようです。 6.0でいくつかのデバイスを試したところ、これは問題ではありませんでした。ネイティブテキストの入力に反応しないクリアテキストがクリアされない
私はTextInputのテキストを消去したい非常に単純なReactネイティブコードスニペットを持っています。それは少しのようになります。これは焦点のテキスト入力を離れて、テキストをクリアするために、私は期待
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 –
回避策動作します。明らかに理想的ではありませんが、問題のあるデバイスにのみ適用しています。 –