React native 按Backspace键后从聚焦文本输入中删除状态
我有多个文本输入,我一直生成这些输入,直到函数将数组的长度设置为24。函数是在“onChangeText”方法中调用的。我还在其中设置状态,这会为状态添加一个新的输入值。向状态添加值可以很好地工作,但当用户按backspace时,如何从状态中删除它们?我想我应该使用数组来存储每个输入的值,然后识别它们,但我真的不知道怎么做 世博小吃: }React native 按Backspace键后从聚焦文本输入中删除状态,react-native,state,setstate,onkeypress,react-native-textinput,React Native,State,Setstate,Onkeypress,React Native Textinput,我有多个文本输入,我一直生成这些输入,直到函数将数组的长度设置为24。函数是在“onChangeText”方法中调用的。我还在其中设置状态,这会为状态添加一个新的输入值。向状态添加值可以很好地工作,但当用户按backspace时,如何从状态中删除它们?我想我应该使用数组来存储每个输入的值,然后识别它们,但我真的不知道怎么做 世博小吃: } this.state = { iban: [], text: "", }; changeText = (text) =>
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();