我想知道是否有人遇到过Android的此问题。
我有一个带有文本输入的简单表单,并且在用户键入时将用户的输入保存到Firebase。它在iOS上运行良好,但在Android上,键入时会重复文本的一部分,因此最终会出现乱码。还必须按几次退格键才能删除单个字符。
以下是我如何做到这一点的摘录:
componentDidMount() {
this.unsubscribe = this.ref.onSnapshot(this.onDocumentGet);
}
render() {
return (
<View style={{ alignItems: 'center', marginBottom: 16 }}>
<Text>Comments</Text>
<Input
label="Message"
onChangeText={text => this.onChangeText('notes', text)}
multiline
value={this.state.message.notes}
/>
</View>
);
}
onDocumentGet = (doc) => {
let message = {};
if (doc.exists) {
const {
notes, messageDate,
} = doc.data();
message = {
key: doc.id,
notes,
messageDate,
};
}
this.setState({
message,
});
}
onChangeText(field, value) {
this.ref.update({
[field]: value,
});
}
或者有没有其他更好的方法来在用户键入时保存文本。我们希望避免要求用户点击按钮来保存其更改。
谢谢你们!