如何解决按 Backspace 后从焦点 TextInput 中删除状态
我有多个 TextInputs,我一直生成它们,直到函数的数组长度为 24。在“onChangeText”方法中调用函数。我还在其中设置状态,这会为状态添加一个新的输入值。向状态添加值工作正常,但是当用户按退格键时,如何从中删除它们?我想我应该使用数组来存储每个输入的值,然后识别它们,但我真的不知道如何。
世博小吃:https://snack.expo.io/zC9BHWvy-p
this.state = {
iban: [],text: "",};
changeText = (text) => {
this.setState(function (prevIoUsstate) {
return {
text: prevIoUsstate.text + text,};
});
console.log(text);
if (this.state.iban.length >= 24) {
return;
}
const items = [
...this.state.iban,<View
key={Math.random()}
>
<TextInput
onKeyPress={e => {
if (e.nativeEvent.key === "Backspace") {
//THE CODE WHICH SHOULD CHANGE THE STATE OF FOCUSED INPUT,IN THIS CASE DELETE A SINGLE LETTER
}
}}
maxLength={1}
onChangeText={text => {
if (text === "" && this.state.iban.length !== 24) {
const copy = this.state.iban.slice(0,-1);
this.setState({ iban: copy });
} else this.changeText(text);
}}
autoFocus={true}
></TextInput>
</View>,];
this.setState({ iban: items });
console.log(this.state.text);
};
componentDidMount() {
this.changeText();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。