问题描述
我有多个 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 (将#修改为@)