Я получаю документы и данные из API. Каждый документ имеет несколько полей ввода.
Я анализирую и отображаю эти формы в поле зрения, и пользователь вводит свои данные в поля.
Как я могу сохранить состояние для каждого из них и отправить их на мой сервер.
Спасибо за любые предложения!
Вот мой код:
renderTextandInputs = (obje) => {
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 onChangeText={(text) => this.postToBmp({ text })} style={{ borderWidth: 1 }}>{keyvalue_to_json.inputFields[i].placeholderText}</TextInput>) &&
textinputName.push(<Text>{keyvalue_to_json.inputFields[i].title}</Text>)
}
}
return (
<View>
<ListItem
title={obje.name}
subtitle={obje.description}
onPress={() => this.postToBmp(obje)}
/>
<View >
<View style={{ flex: 1, flexDirection: 'row', justifyContent: 'space-between' }}>
<View style={{ flex: 1}}>
{textinputName}
</View>
<View style={{ flex: 1}}>
{foundTextFields}
</View>
</View>
)
}
Вот функция fetch (), я пытаюсь использовать HashMap () для этой работы, но не уверен, что это правильное решение:
postToBmp = (obje) => {
var postRequest = new HashMap();
for (myTextField in myList.components) {
let key = myTextField.key;
let value = myTextField.value;
if (key != null && value != null) {
postRequest.set(key, value);
}
}
fetch('URL', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
'Connection': 'Keep-Alive',
},
credentials: 'include',
body: JSON.stringify({
from: 'test@test.dk',
to: [
'test test <test2@test2.com>'
],
attachmentName: obje.name,
dateString: '19. marts 2019',
signedByFullName: '', //I need to pass the values of the inputs
signedByCPRNumber: '', //I need to pass the values of the inputs
otherCompanyName: '', //I need to pass the values of the inputs
otherCompanyCVRNumber: '', //I need to pass the values of the inputs
})
})
}