Edit: Bei weiterer Überprüfung scheint es, dass dies nur in Android 6.0.1 passiert. Nachdem auf mehreren Geräten mit 6.0 versucht wurde, war dies kein Problem.Reactive Native Texteingabe Löschen löscht Text nicht
Ich habe eine sehr einfache React Native Code-Snippet, wo ich Text in einem TextInput löschen möchte. Es sieht ein bisschen wie folgt aus:
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>
);
}
nun das Verhalten, das ich erwarten würde, ist für diese die Texteingabe im Fokus zu verlassen, und den Text löschen. Dies ist der Fall - in dem Moment, in dem ich anfange, etwas auf der Tastatur zu tippen, erscheint der Text, den ich zuvor gelöscht habe, wieder in der Texteingabe. Offensichtlich ist diese Art von Persistenz des Textes nicht wirklich erwünscht.
Sind Sie jemals auf dieses Problem gestoßen? Ist es ein RN-Fehler oder gibt es eine Möglichkeit, dieses Verhalten zu vermeiden, ohne die Tastatur zu verwischen?
Hier ist ein kleiner Ausschnitt um zu verdeutlichen, was ich meine: https://snack.expo.io/H1S9b5Mpe.
Wenn Sie mit der Eingabe beginnen, drücken Sie die Taste clear, und fahren Sie fort mit der Eingabe. Der zuvor angezeigte Text wird vor dem neu eingegebenen Text angezeigt.
Haben Sie versucht, den Status zu löschen? –
Sie können die Problemumgehung dieses Problems hier finden: http://stackoverflow.com/questions/37798584/react-native-when-submitting-a-text-input-in-android-the-word-suggestions-are –
Die Problemumgehung funktioniert. Es ist offensichtlich nicht ideal, aber wir wenden es nur für das Gerät mit dem Problem an. –