Component {
constructor(props){
super(props);
this.state = {
textInput : [],
inputData : []
}
}
addTextInput = (index) => {
let textInput = this.state.textInput;
textInput.push(<TextInput style={styles.textInput}
onChangeText={(text) => this.addValues(text, index)} />);
this.setState({ textInput });
}
removeTextInput = () => {
let textInput = this.state.textInput;
let inputData = this.state.inputData;
textInput.pop();
inputData.pop();
this.setState({ textInput,inputData });
}
addValues = (text, index) => {
let dataArray = this.state.inputData;
let checkBool = false;
if (dataArray.length !== 0){
dataArray.forEach(element => {
if (element.index === index ){
element.text = text;
checkBool = true;
}
});
}
if (checkBool){
this.setState({
inputData: dataArray
});
}
else {
dataArray.push({'text':text,'index':index});
this.setState({
inputData: dataArray
});
}
}
getValues = () => {
console.log('Data',this.state.inputData);
}
render(){
return(
<View style = {{padding : 80}}>
<View style= {styles.row}>
<View style={{margin:10}}>
<Button title='Add' onPress={() => this.addTextInput(this.state.textInput.length)} />
</View>
<View style={{margin:10}}>
<Button title='Remove' onPress={() => this.removeTextInput()} />
</View>
</View>
{this.state.textInput.map((value) => {
return value
})}
<Button title='Get Values' onPress={() => this.getValues()} />
</View>
)
}
}
Эти строки кода выше могут добавить ввод текста через интерфейс.
const mongoose = require('mongoose')
const userSchema = new mongoose.Schema({
mobile:{
type: String,
unique : true,
required : true
},
password:{
type : String,
required: true
},
quan:{
type : String,
},
quann:{
type : String,
},
},{strict: true})
mongoose.model('User',userSchema)
Эти строки кодов могут сохранить данные c в MongoDB.
Как сохранить динамические c входы в MongoDB?