Hi, I’m making a form and I need to load data in a dropdownlist and select it, but I don’t know how to do it and I can’t find examples, except those that have a json file with all the data.
I can insert my data with success but I need a dropdownlist for other important data.
My form:
import React from 'react';
import {
View,
StyleSheet,
TextInput,
ScrollView,
Text,
TouchableOpacity,
TouchableHighlight,
} from 'react-native';
import Modal from 'react-native-modal';
import { useState } from 'react';
import Icon from 'react-native-vector-icons/FontAwesome';
import { Dropdown } from 'react-native-material-dropdown';
export default class RegistroScreen extends React.Component {
constructor(props)
{
super(props);
this.state=({nombre:'',apellidos:'',alias:'',nro_cedula:'',correo:'',passwd:'',passwd2:'',celular:''});
//this.state=({nacionalidad:[]})
}
componentWillMount(){
this.getdata();
}
getdata(){
var temp = [];
fetch("localhost:8080/", {
method: "Get",
headers: {
Accept: "application/json",
"Content-Type": "aplication/json"
}
})
}
InsertRecord=()=>
{
var nombre=this.state.nombre;
var apellidos=this.state.apellidos;
var alias=this.state.alias;
var nro_cedula=this.state.nro_cedula;
var correo=this.state.correo;
var passwd=this.state.passwd;
var passwd2=this.state.passwd2;
var celular=this.state.celular;
if(nombre.length==0 || apellidos.length==0 || nro_cedula.length==0 || correo.length==0 || passwd.length==0 || passwd2.length==0 || celular.length==0)
{
alert("Le faltan campos por llenar");
}else{
var InsertAPIURL="http://10.0.2.2:80/api/insert.php";
var headers={
'Accept':'application/json',
'Content-Type':'application/json',
};
var Data={
nombre: nombre,
apellidos: apellidos,
alias: alias,
nro_cedula: nro_cedula,
correo: correo,
passwd: passwd,
passwd2: passwd2,
celular: celular,
};
fetch(InsertAPIURL,
{
method:'POST',
headers:headers,
body: JSON.stringify(Data),
}
).then((response)=>response.json())
.then((response)=>
{
alert("Registro realizado con éxito");
{/* SCREEN LOGIN */}
this.props.navigation.navigate('Login');
// value('cedula') = '';
})
.catch((error)=>
{
alert("Error"+error);
}
)
}
}
render() {
return (
<ScrollView style={styles.container}>
<View style={{flex: 1, flexDirection: 'column'}}>
<Dropdown
label="Nacionalidad"
onChangeText={this.onChangeText}
//data={this.state.nacionalidadListData}
/>
<View style={{flex: 4, flexDirection: 'column'}}>
<View style={{flex: 0.5}}>
<TouchableOpacity
style={styles.submitButton}
onPress={this.InsertRecord}
>
<Text style={styles.submitButtonText}> Enviar </Text>
</TouchableOpacity>
</View>
</View>
</ScrollView>
);
}
My insert API file:
<?php
$MW = mysqli_connect("localhost","root","");
$DB = mysqli_select_db($MW,"MapamundiWorld");
$EncodedData = file_get_contents('php://input');
$DecodedData = json_decode($EncodedData,true);
$nombre = $DecodedData['nombre'];
$apellidos = $DecodedData['apellidos'];
$alias = $DecodedData['alias'];
// $nacionalidadID = $_POST['nacionalidadID'];
$nro_cedula = $DecodedData['nro_cedula'];
$correo = $DecodedData['correo'];
$passwd = $DecodedData['passwd'];
$passwd2 = $DecodedData['passwd2'];
$celular = $DecodedData['celular'];
$IQ = "insert into usuario(nombre,apellidos,alias,nro_cedula,correo,passwd,passwd2,celular) values ('$nombre','$apellidos','$alias','$nro_cedula','$correo','$passwd','$passwd2','$celular')";
$R = mysqli_query($MW,$IQ);
if($R){
$Message="Su usuario ha sido registrado satisfactoriamente :D ";
}else{
$Message="Error, intente más tarde";
}
$Response[]=array("Usuario"=>$Message);
echo json_encode($Response);
?>
Please help Thanks