我在数据库(Couch / Pouch)中输入数据时遇到问题。 基本上我有一种形式,通过它我将输入的值传递给在数据库中执行放置操作的函数,从而输入数据。 问题是,如果偶然地将表单中的这些字段之一留空,则一旦执行看跌期权,就会将该字段从数据库中删除。
因此,例如,如果我在数据库中具有FirstName:“ NameUser”字段,并且要编译该表单,则在与FirstName对应的字段中不输入任何内容,则将从数据库中删除值FirstName和“ NameUser”。
如何解决此问题?谢谢大家。
//.....
.then(response => {
let utente = response.docs[0];
utente.Person.FirstName = this.state.FirstName;
utente.Person.LastName = this.state.LastName;
utente.Person.City = this.state.City;
utente.Person.Address = this.state.Address;
return global.utente.db.localdb().put(utente);
})
.catch(function(err) {
console.log(JSON.stringify(err));
}) }
render() {
return (
<View style={style.container}>
<View style={style.page}>
<KeyboardAwareScrollView>
<View style={style.inputContainer}>
<TextInput
style={style.inputs}
placeholder="Name"
placeholderTextColor="#64c7c0"
keyboardType="default"
underlineColorAndroid="grey"
onChangeText={FirstName =>
this.setState({ FirstName })
}
/>
</View>
<View style={style.inputContainer}>
<TextInput
style={style.inputs}
placeholder="Surname"
placeholderTextColor="#64c7c0"
keyboardType="default"
underlineColorAndroid="grey"
onChangeText={LastName =>
this.setState({ LastName })}
/>
</View>
<View style={style.inputContainer}>
<TextInput
style={style.inputs}
placeholder="City"
placeholderTextColor="#64c7c0"
keyboardType="default"
underlineColorAndroid="grey"
onChangeText={City => this.setState({ City })}
/>
</View>
{/*
<View style={style.inputContainer}>
</View>
*/}
<View style={style.inputContainer}>
<TextInput
style={style.inputs}
placeholder="Address"
placeholderTextColor="#64c7c0"
keyboardType="default"
underlineColorAndroid="grey"
onChangeText={Address => this.setState({ Address })}
/>
<View style={style.footer}>
<TouchableOpacity
style={[style.button, style.buttonOK]}
onPress={() => this.findUtente(this.props.cf)}
>
<Text>Save</Text>
</TouchableOpacity>