在调用函数上设置输入值 - React Native
Setting input values on call function - React Native
我在将文本输入(我从 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>
)
}
您不能在每次编辑文本输入时都进行推送。你会得到你所做的每一个编辑的数组,我认为这不是你想要的。
也许是这样:
this.myInputFields.myTextFields.[i]=keyvalue_to_json.inputFields[i]
我在将文本输入(我从 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>
)
}
您不能在每次编辑文本输入时都进行推送。你会得到你所做的每一个编辑的数组,我认为这不是你想要的。
也许是这样:
this.myInputFields.myTextFields.[i]=keyvalue_to_json.inputFields[i]