我在将文本输入(我从API提取)的值保存到数组时遇到麻烦。目前,我可以保存这些值,但是如果我尝试编辑一个文本输入值,它将保存新的值,并且仍然保留旧的值。当“ onChangeText”结束时,我只想保存最新值。
我很感谢任何建议!
这是我的代码:
textfieldsObject = () => {
const obje = this.props.navigation.state.params.item;
var keyvalue_to_json = JSON.parse(obje.keyValues);
var textinputName = [];
var foundTextFields = [];
for (let i = 0; i < keyvalue_to_json.inputFields.length; i++) {
if (keyvalue_to_json.inputFields[i].type === 'textfield') {
foundTextFields.push(<TextInput onEndEditing={(e) => {
keyvalue_to_json.inputFields[i].inputValues = e.nativeEvent.text;
this.myInputFields.myTextFields.push(keyvalue_to_json.inputFields[i])
}}
>{keyvalue_to_json.inputFields[i].placeholderText}</TextInput>)
}
}
return (
<View>
{foundTextFields}
</View>
)
}
答案 0 :(得分:0)
您不能在每次编辑文本输入时进行推送。您所做的每一次编辑都会得到一个数组,我想这不是您想要的。
也许是这样:
this.myInputFields.myTextFields.[i]=keyvalue_to_json.inputFields[i]