Last active
December 6, 2024 09:55
-
-
Save RaguRam1991/be42912bb35259c538eb9a97a5348840 to your computer and use it in GitHub Desktop.
cascading form react native
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import React, { useState, useEffect } from 'react'; | |
| import { View, Text, StyleSheet, TouchableOpacity } from 'react-native'; | |
| import { Dropdown } from 'react-native-element-dropdown'; | |
| import { Snackbar } from 'react-native-paper'; | |
| const listCountry = [ | |
| { countryId: '1', name: 'india' }, | |
| { countryId: '2', name: 'uk' }, | |
| { countryId: '3', name: 'canada' }, | |
| { countryId: '4', name: 'us' }, | |
| ]; | |
| const listSate = [ | |
| { stateId: '1', countryId: '1', name: 'state1_india' }, | |
| { stateId: '2', countryId: '1', name: 'state2_india' }, | |
| { stateId: '3', countryId: '1', name: 'state3_india' }, | |
| { stateId: '4', countryId: '2', name: 'state1_uk' }, | |
| { stateId: '5', countryId: '2', name: 'state2_uk' }, | |
| { stateId: '6', countryId: '2', name: 'state3_uk' }, | |
| { stateId: '7', countryId: '3', name: 'state1_canada' }, | |
| { stateId: '8', countryId: '3', name: 'state2_canada' }, | |
| { stateId: '9', countryId: '3', name: 'state3_canada' }, | |
| { stateId: '10', countryId: '4', name: 'state1_us' }, | |
| { stateId: '11', countryId: '4', name: 'state2_us' }, | |
| { stateId: '12', countryId: '4', name: 'state3_us' }, | |
| ]; | |
| const listCity = [ | |
| { | |
| cityId: '1', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city1_state1_country1', | |
| }, | |
| { | |
| cityId: '2', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city2_state1_country1', | |
| }, | |
| { | |
| cityId: '3', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city3_state1_country1', | |
| }, | |
| { | |
| cityId: '4', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city4_state2_country1', | |
| }, | |
| { | |
| cityId: '5', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city5_state2_country1', | |
| }, | |
| { | |
| cityId: '6', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city6_state2_country1', | |
| }, | |
| { | |
| cityId: '7', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city7_state3_country1', | |
| }, | |
| { | |
| cityId: '8', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city8_state3_country1', | |
| }, | |
| { | |
| cityId: '9', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city9_state3_country1', | |
| }, | |
| { | |
| cityId: '10', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city10_state4_country2', | |
| }, | |
| { | |
| cityId: '11', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city11_state4_country2', | |
| }, | |
| { | |
| cityId: '12', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city12_state4_country2', | |
| }, | |
| { | |
| cityId: '13', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city13_state5_country2', | |
| }, | |
| { | |
| cityId: '14', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city14_state5_country2', | |
| }, | |
| { | |
| cityId: '15', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city15_state5_country2', | |
| }, | |
| { | |
| cityId: '16', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city16_state6_country2', | |
| }, | |
| { | |
| cityId: '17', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city17_state6_country2', | |
| }, | |
| { | |
| cityId: '18', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city18_state6_country2', | |
| }, | |
| { | |
| cityId: '19', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city19_state7_country3', | |
| }, | |
| { | |
| cityId: '20', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city20_state7_country3', | |
| }, | |
| { | |
| cityId: '21', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city21_state7_country3', | |
| }, | |
| { | |
| cityId: '22', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city22_state8_country3', | |
| }, | |
| { | |
| cityId: '23', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city23_state8_country3', | |
| }, | |
| { | |
| cityId: '24', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city24_state8_country3', | |
| }, | |
| { | |
| cityId: '25', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city25_state9_country3', | |
| }, | |
| { | |
| cityId: '26', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city26_state9_country3', | |
| }, | |
| { | |
| cityId: '27', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city27_state9_country3', | |
| }, | |
| { | |
| cityId: '28', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city28_state10_country4', | |
| }, | |
| { | |
| cityId: '29', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city29_state10_country4', | |
| }, | |
| { | |
| cityId: '30', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city30_state10_country4', | |
| }, | |
| { | |
| cityId: '31', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city31_state11_country4', | |
| }, | |
| { | |
| cityId: '32', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city32_state11_country4', | |
| }, | |
| { | |
| cityId: '33', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city33_state11_country4', | |
| }, | |
| { | |
| cityId: '34', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city34_state12_country4', | |
| }, | |
| { | |
| cityId: '35', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city35_state12_country4', | |
| }, | |
| { | |
| cityId: '36', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city36_state12_country4', | |
| }, | |
| ]; | |
| export default function App() { | |
| const [country, setCountry] = useState({ | |
| data: [], | |
| selectedCountry: {}, | |
| value: null, | |
| }); | |
| const [state, setState] = useState({ | |
| data: [], | |
| selectedState: {}, | |
| value: null, | |
| }); | |
| const [city, setCity] = useState({ data: [], selectedCity: {}, value: null }); | |
| const [ddfocus, setDdfocus] = useState({ | |
| country: false, | |
| state: false, | |
| city: false, | |
| }); | |
| const [visible, setVisible] = useState(false); | |
| const [snackMsg, setSnackMsg] = useState(''); | |
| const onToggleSnackBar = () => setVisible(!visible); | |
| const onDismissSnackBar = () => setVisible(false); | |
| const resetForm = () => { | |
| focusField(''); | |
| setCountry({ data: [...listCountry], selectedCountry: {}, value: null }); | |
| setState({ data: [], selectedState: {}, value: null }); | |
| setCity({ data: [], selectedCity: {}, value: null }); | |
| }; | |
| const focusField = (fld = '') => { | |
| const obj = { country: false, state: false, city: false }; | |
| if (fld) obj[fld] = true; | |
| setDdfocus(obj); | |
| }; | |
| const loadCity = async (stId) => { | |
| // load data from api call | |
| setCity({ data: [], selectedCity: {}, value: null }); | |
| const arr = listCity.filter((ele) => ele.stateId === stId); | |
| setCity({ ...city, data: [...arr] }); | |
| }; | |
| const loadState = async (cntId) => { | |
| // load data from api call | |
| setState({ data: [], selectedState: {}, value: null }); | |
| setCity({ data: [], selectedCity: {}, value: null }); | |
| const arr = listSate.filter((ele) => ele.countryId === cntId); | |
| setState({ ...state, data: [...arr] }); | |
| console.log('arr ', arr); | |
| }; | |
| const loadCountry = () => { | |
| // load data from api call | |
| setCountry({ data: [...listCountry], selectedCountry: {}, value: null }); | |
| }; | |
| useEffect(() => { | |
| loadCountry(); | |
| }, []); | |
| return ( | |
| <View style={styles.container}> | |
| <View> | |
| <Text>Country</Text> | |
| <ZDropDown | |
| data={country.data} | |
| labelField="name" | |
| valueField="countryId" | |
| value={country.value} | |
| isFocus={ddfocus.country} | |
| onFocus={() => focusField('country')} | |
| onBlur={() => focusField('')} | |
| onChange={(item) => { | |
| setCountry({ | |
| ...country, | |
| selectedCountry: item, | |
| value: item.countryId, | |
| }); | |
| loadState(item.countryId); | |
| focusField(''); | |
| }} | |
| /> | |
| <Text>State</Text> | |
| <ZDropDown | |
| data={state.data} | |
| labelField="name" | |
| valueField="stateId" | |
| value={state.value} | |
| isFocus={ddfocus.state} | |
| onFocus={() => { | |
| focusField('state'); | |
| if (!country.value) { | |
| setSnackMsg('Select country'); | |
| onToggleSnackBar(); | |
| focusField('country'); | |
| } | |
| }} | |
| onBlur={() => focusField('')} | |
| onChange={(item) => { | |
| setState({ ...state, selectedState: item, value: item.stateId }); | |
| loadCity(item.stateId); | |
| focusField(''); | |
| }} | |
| /> | |
| <Text>City</Text> | |
| <ZDropDown | |
| data={city.data} | |
| labelField="name" | |
| valueField="cityId" | |
| value={city.value} | |
| isFocus={ddfocus.city} | |
| onFocus={() => { | |
| focusField('city'); | |
| if (!country.value) { | |
| setSnackMsg('Select country'); | |
| onToggleSnackBar(); | |
| focusField('country'); | |
| } else if (!state.value) { | |
| setSnackMsg('Select state'); | |
| onToggleSnackBar(); | |
| focusField('state'); | |
| } | |
| }} | |
| onBlur={() => focusField('')} | |
| onChange={(item) => { | |
| setCity({ | |
| ...city, | |
| selectedCity: item, | |
| value: item.cityId, | |
| }); | |
| focusField(''); | |
| }} | |
| /> | |
| </View> | |
| <View> | |
| <Text>Selected Country</Text> | |
| <Text style={styles.selectedValue}>{country.selectedCountry.name}</Text> | |
| <Text>Selected State</Text> | |
| <Text style={styles.selectedValue}>{state.selectedState.name}</Text> | |
| <Text>Selected City</Text> | |
| <Text style={styles.selectedValue}>{city.selectedCity.name}</Text> | |
| </View> | |
| <TouchableOpacity onPress={() => resetForm()} style={styles.clrBtn}> | |
| <Text style={styles.clrBtnTxt}>Reset</Text> | |
| </TouchableOpacity> | |
| <Snackbar duration={2000} visible={visible} onDismiss={onDismissSnackBar}> | |
| {snackMsg} | |
| </Snackbar> | |
| </View> | |
| ); | |
| } | |
| const ZDropDown = ({ | |
| data, | |
| labelField, | |
| valueField, | |
| value, | |
| onFocus, | |
| onBlur, | |
| onChange, | |
| isFocus, | |
| }) => { | |
| return ( | |
| <Dropdown | |
| mode={'auto'} | |
| style={[styles.dropdown, isFocus ? { borderColor: 'dodgerblue' } : {}]} | |
| placeholderStyle={styles.placeholderStyle} | |
| selectedTextStyle={styles.selectedTextStyle} | |
| inputSearchStyle={styles.inputSearchStyle} | |
| iconStyle={styles.iconStyle} | |
| search={data.length > 5} | |
| maxHeight={300} | |
| searchPlaceholder="Search..." | |
| data={data} | |
| labelField={labelField} | |
| valueField={valueField} | |
| placeholder={!isFocus ? 'Select item' : '...'} | |
| value={value} | |
| onFocus={onFocus} | |
| onBlur={onBlur} | |
| onChange={onChange} | |
| /> | |
| ); | |
| }; | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flex: 1, | |
| padding: 20, | |
| }, | |
| clrBtn: { | |
| padding: 10, | |
| alignItems: 'center', | |
| alignSelf: 'center', | |
| }, | |
| clrBtnTxt: { | |
| color: 'grey', | |
| }, | |
| selectedValue: { | |
| color: 'steelblue', | |
| marginLeft: 5, | |
| marginTop: 5, | |
| marginBottom: 10, | |
| }, | |
| dropdown: { | |
| height: 50, | |
| borderColor: 'gray', | |
| borderWidth: 0.5, | |
| borderRadius: 8, | |
| paddingHorizontal: 8, | |
| marginTop: 5, | |
| marginBottom: 20, | |
| }, | |
| placeholderStyle: { | |
| fontSize: 16, | |
| }, | |
| selectedTextStyle: { | |
| fontSize: 16, | |
| }, | |
| iconStyle: { | |
| width: 20, | |
| height: 20, | |
| }, | |
| inputSearchStyle: { | |
| height: 40, | |
| fontSize: 16, | |
| }, | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import React, { useState, useEffect } from 'react'; | |
| import { | |
| ScrollView, | |
| View, | |
| Text, | |
| StyleSheet, | |
| TouchableOpacity, | |
| } from 'react-native'; | |
| import { Dropdown } from 'react-native-element-dropdown'; | |
| import { Snackbar } from 'react-native-paper'; | |
| import { | |
| listCountry, | |
| listSate, | |
| listCity, | |
| listVillage, | |
| listStreet, | |
| } from './cascadeform/cascadeData'; | |
| const formFields = { | |
| country: { | |
| fieldId: 'country', | |
| label: 'Country', | |
| labelField: 'name', | |
| valueField: 'countryId', | |
| parents: [], | |
| list: [], | |
| selectedItem: {}, | |
| selectedValue: null, | |
| onValueSelected: () => null, | |
| }, | |
| state: { | |
| fieldId: 'state', | |
| label: 'State', | |
| labelField: 'name', | |
| valueField: 'stateId', | |
| parents: ['country'], | |
| list: [], | |
| selectedItem: {}, | |
| selectedValue: null, | |
| onValueSelected: () => null, | |
| }, | |
| city: { | |
| fieldId: 'city', | |
| label: 'City', | |
| labelField: 'name', | |
| valueField: 'cityId', | |
| parents: ['country', 'state'], | |
| list: [], | |
| selectedItem: {}, | |
| selectedValue: null, | |
| onValueSelected: () => null, | |
| }, | |
| village: { | |
| fieldId: 'village', | |
| label: 'Village', | |
| labelField: 'name', | |
| valueField: 'villageId', | |
| parents: ['country', 'state', 'city'], | |
| list: [], | |
| selectedItem: {}, | |
| selectedValue: null, | |
| onValueSelected: () => null, | |
| }, | |
| street: { | |
| fieldId: 'street', | |
| label: 'Street', | |
| labelField: 'name', | |
| valueField: 'streetId', | |
| parents: ['country', 'state', 'city', 'village'], | |
| list: [], | |
| selectedItem: {}, | |
| selectedValue: null, | |
| onValueSelected: () => null, | |
| }, | |
| }; | |
| var focusField = ''; | |
| var snackMsg = ''; | |
| export default function App() { | |
| const [refreshPage, setRefreshPage] = useState(false); | |
| const [visible, setVisible] = useState(false); | |
| const onToggleSnackBar = () => setVisible(!visible); | |
| const onDismissSnackBar = () => setVisible(false); | |
| const resetForm = () => { | |
| resetFields('country'); | |
| focusField = ''; | |
| loadCountry(); | |
| }; | |
| const changeFocusField = (fld = '') => { | |
| focusField = fld; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const resetFields = (fld = '') => { | |
| var b = false; | |
| for (let kee in formFields) { | |
| if (b) { | |
| formFields[kee].list = []; | |
| formFields[kee].selectedItem = {}; | |
| formFields[kee].selectedValue = null; | |
| } else { | |
| if (kee === fld) { | |
| b = true; | |
| formFields[kee] = { | |
| ...formFields[kee], | |
| list: [], | |
| selectedItem: {}, | |
| selectedValue: null, | |
| }; | |
| } | |
| } | |
| } | |
| }; | |
| const allValuesSelected = () => { | |
| console.log('All fields selected'); | |
| }; | |
| const loadStreet = async () => { | |
| resetFields('street'); | |
| const arr = listStreet.filter( | |
| (ele) => ele.villageId === formFields.village.selectedValue | |
| ); | |
| if (arr.length) formFields.street.list = arr; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const loadVillage = async () => { | |
| resetFields('village'); | |
| const arr = listVillage.filter( | |
| (ele) => ele.cityId === formFields.city.selectedValue | |
| ); | |
| if (arr.length) formFields.village.list = arr; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const loadCity = async () => { | |
| resetFields('city'); | |
| const arr = listCity.filter( | |
| (ele) => ele.stateId === formFields.state.selectedValue | |
| ); | |
| if (arr.length) formFields.city.list = arr; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const loadState = async () => { | |
| resetFields('state'); | |
| const arr = listSate.filter( | |
| (ele) => ele.countryId === formFields.country.selectedValue | |
| ); | |
| if (arr.length) { | |
| formFields.state.list = arr; | |
| } | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const loadCountry = async () => { | |
| formFields.country.list = [...listCountry]; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const loadPageData = () => { | |
| formFields.country.onValueSelected = loadState; | |
| formFields.state.onValueSelected = loadCity; | |
| formFields.city.onValueSelected = loadVillage; | |
| formFields.village.onValueSelected = loadStreet; | |
| formFields.street.onValueSelected = allValuesSelected; | |
| loadCountry(); | |
| }; | |
| useEffect(() => { | |
| loadPageData(); | |
| }, []); | |
| return ( | |
| <ScrollView style={styles.container}> | |
| <View> | |
| {Object.keys(formFields).map((ele, index) => { | |
| const fld = formFields[ele]; | |
| return ( | |
| <View key={'_formField_' + index}> | |
| <Text>{fld.label}</Text> | |
| <ZDropDown | |
| labelField={fld.labelField} | |
| valueField={fld.valueField} | |
| data={fld.list} | |
| value={fld.selectedValue} | |
| isFocus={focusField === ele} | |
| onFocus={() => { | |
| changeFocusField(ele); | |
| const parents = fld.parents; | |
| for (let pr of parents) { | |
| if (!formFields[pr].selectedValue) { | |
| snackMsg = 'Select ' + formFields[pr].label; | |
| focusField = pr; | |
| onToggleSnackBar(); | |
| break; | |
| } | |
| } | |
| }} | |
| onBlur={() => changeFocusField('')} | |
| onChange={(item) => { | |
| fld.selectedItem = item; | |
| fld.selectedValue = item[fld.valueField]; | |
| focusField = ''; | |
| fld.onValueSelected(); | |
| }} | |
| /> | |
| </View> | |
| ); | |
| })} | |
| </View> | |
| <View> | |
| <Text>Selected Country</Text> | |
| <Text style={styles.selectedValue}> | |
| {formFields.country.selectedItem.name} | |
| </Text> | |
| <Text>Selected State</Text> | |
| <Text style={styles.selectedValue}> | |
| {formFields.state.selectedItem.name} | |
| </Text> | |
| <Text>Selected City</Text> | |
| <Text style={styles.selectedValue}> | |
| {formFields.city.selectedItem.name} | |
| </Text> | |
| <Text>Selected Village</Text> | |
| <Text style={styles.selectedValue}> | |
| {formFields.village.selectedItem.name} | |
| </Text> | |
| <Text>Selected Street</Text> | |
| <Text style={styles.selectedValue}> | |
| {formFields.street.selectedItem.name} | |
| </Text> | |
| </View> | |
| <TouchableOpacity onPress={() => resetForm()} style={styles.clrBtn}> | |
| <Text style={styles.clrBtnTxt}>Reset</Text> | |
| </TouchableOpacity> | |
| <Snackbar duration={2000} visible={visible} onDismiss={onDismissSnackBar}> | |
| {snackMsg} | |
| </Snackbar> | |
| </ScrollView> | |
| ); | |
| } | |
| const ZDropDown = ({ | |
| data, | |
| labelField, | |
| valueField, | |
| value, | |
| onFocus, | |
| onBlur, | |
| onChange, | |
| isFocus, | |
| }) => { | |
| return ( | |
| <Dropdown | |
| mode={'auto'} | |
| style={[styles.dropdown, isFocus ? { borderColor: 'dodgerblue' } : {}]} | |
| placeholderStyle={styles.placeholderStyle} | |
| selectedTextStyle={styles.selectedTextStyle} | |
| inputSearchStyle={styles.inputSearchStyle} | |
| iconStyle={styles.iconStyle} | |
| search={data.length > 5} | |
| maxHeight={300} | |
| searchPlaceholder="Search..." | |
| data={data} | |
| labelField={labelField} | |
| valueField={valueField} | |
| placeholder={!isFocus ? 'Select item' : '...'} | |
| value={value} | |
| onFocus={onFocus} | |
| onBlur={onBlur} | |
| onChange={onChange} | |
| /> | |
| ); | |
| }; | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flex: 1, | |
| padding: 20, | |
| }, | |
| clrBtn: { | |
| padding: 10, | |
| alignItems: 'center', | |
| alignSelf: 'center', | |
| }, | |
| clrBtnTxt: { | |
| color: 'grey', | |
| }, | |
| selectedValue: { | |
| color: 'steelblue', | |
| marginLeft: 5, | |
| marginTop: 5, | |
| marginBottom: 10, | |
| }, | |
| dropdown: { | |
| height: 50, | |
| borderColor: 'gray', | |
| borderWidth: 0.5, | |
| borderRadius: 8, | |
| paddingHorizontal: 8, | |
| marginTop: 5, | |
| marginBottom: 20, | |
| }, | |
| placeholderStyle: { | |
| fontSize: 16, | |
| }, | |
| selectedTextStyle: { | |
| fontSize: 16, | |
| }, | |
| iconStyle: { | |
| width: 20, | |
| height: 20, | |
| }, | |
| inputSearchStyle: { | |
| height: 40, | |
| fontSize: 16, | |
| }, | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| export const listVillage = [ | |
| { | |
| cityId: '1', | |
| villageId: '1', | |
| name: 'village 1 city 1', | |
| }, | |
| { | |
| cityId: '1', | |
| villageId: '2', | |
| name: 'village 2 city 1', | |
| }, | |
| { | |
| cityId: '1', | |
| villageId: '3', | |
| name: 'village 3 city 1', | |
| }, | |
| { | |
| cityId: '2', | |
| villageId: '4', | |
| name: 'village 4 city 2', | |
| }, | |
| { | |
| cityId: '2', | |
| villageId: '5', | |
| name: 'village 5 city 2', | |
| }, | |
| { | |
| cityId: '2', | |
| villageId: '6', | |
| name: 'village 6 city 2', | |
| }, | |
| { | |
| cityId: '3', | |
| villageId: '7', | |
| name: 'village 7 city 3', | |
| }, | |
| { | |
| cityId: '3', | |
| villageId: '8', | |
| name: 'village 8 city 3', | |
| }, | |
| { | |
| cityId: '3', | |
| villageId: '9', | |
| name: 'village 9 city 3', | |
| }, | |
| { | |
| cityId: '4', | |
| villageId: '10', | |
| name: 'village 10 city 4', | |
| }, | |
| { | |
| cityId: '4', | |
| villageId: '11', | |
| name: 'village 11 city 4', | |
| }, | |
| { | |
| cityId: '4', | |
| villageId: '12', | |
| name: 'village 12 city 4', | |
| }, | |
| { | |
| cityId: '5', | |
| villageId: '13', | |
| name: 'village 13 city 5', | |
| }, | |
| { | |
| cityId: '5', | |
| villageId: '14', | |
| name: 'village 14 city 5', | |
| }, | |
| { | |
| cityId: '5', | |
| villageId: '15', | |
| name: 'village 15 city 5', | |
| }, | |
| { | |
| cityId: '6', | |
| villageId: '16', | |
| name: 'village 16 city 6', | |
| }, | |
| { | |
| cityId: '6', | |
| villageId: '17', | |
| name: 'village 17 city 6', | |
| }, | |
| { | |
| cityId: '6', | |
| villageId: '18', | |
| name: 'village 18 city 6', | |
| }, | |
| { | |
| cityId: '7', | |
| villageId: '19', | |
| name: 'village 19 city 7', | |
| }, | |
| { | |
| cityId: '7', | |
| villageId: '20', | |
| name: 'village 20 city 7', | |
| }, | |
| { | |
| cityId: '7', | |
| villageId: '21', | |
| name: 'village 21 city 7', | |
| }, | |
| { | |
| cityId: '8', | |
| villageId: '22', | |
| name: 'village 22 city 8', | |
| }, | |
| { | |
| cityId: '8', | |
| villageId: '23', | |
| name: 'village 23 city 8', | |
| }, | |
| { | |
| cityId: '8', | |
| villageId: '24', | |
| name: 'village 24 city 8', | |
| }, | |
| { | |
| cityId: '9', | |
| villageId: '25', | |
| name: 'village 25 city 9', | |
| }, | |
| { | |
| cityId: '9', | |
| villageId: '26', | |
| name: 'village 26 city 9', | |
| }, | |
| { | |
| cityId: '9', | |
| villageId: '27', | |
| name: 'village 27 city 9', | |
| }, | |
| { | |
| cityId: '10', | |
| villageId: '28', | |
| name: 'village 28 city 10', | |
| }, | |
| { | |
| cityId: '10', | |
| villageId: '29', | |
| name: 'village 29 city 10', | |
| }, | |
| { | |
| cityId: '10', | |
| villageId: '30', | |
| name: 'village 30 city 10', | |
| }, | |
| { | |
| cityId: '11', | |
| villageId: '31', | |
| name: 'village 31 city 11', | |
| }, | |
| { | |
| cityId: '11', | |
| villageId: '32', | |
| name: 'village 32 city 11', | |
| }, | |
| { | |
| cityId: '11', | |
| villageId: '33', | |
| name: 'village 33 city 11', | |
| }, | |
| { | |
| cityId: '12', | |
| villageId: '34', | |
| name: 'village 34 city 12', | |
| }, | |
| { | |
| cityId: '12', | |
| villageId: '35', | |
| name: 'village 35 city 12', | |
| }, | |
| { | |
| cityId: '12', | |
| villageId: '36', | |
| name: 'village 36 city 12', | |
| }, | |
| { | |
| cityId: '13', | |
| villageId: '37', | |
| name: 'village 37 city 13', | |
| }, | |
| { | |
| cityId: '13', | |
| villageId: '38', | |
| name: 'village 38 city 13', | |
| }, | |
| { | |
| cityId: '13', | |
| villageId: '39', | |
| name: 'village 39 city 13', | |
| }, | |
| { | |
| cityId: '14', | |
| villageId: '40', | |
| name: 'village 40 city 14', | |
| }, | |
| { | |
| cityId: '14', | |
| villageId: '41', | |
| name: 'village 41 city 14', | |
| }, | |
| { | |
| cityId: '14', | |
| villageId: '42', | |
| name: 'village 42 city 14', | |
| }, | |
| { | |
| cityId: '15', | |
| villageId: '43', | |
| name: 'village 43 city 15', | |
| }, | |
| { | |
| cityId: '15', | |
| villageId: '44', | |
| name: 'village 44 city 15', | |
| }, | |
| { | |
| cityId: '15', | |
| villageId: '45', | |
| name: 'village 45 city 15', | |
| }, | |
| { | |
| cityId: '16', | |
| villageId: '46', | |
| name: 'village 46 city 16', | |
| }, | |
| { | |
| cityId: '16', | |
| villageId: '47', | |
| name: 'village 47 city 16', | |
| }, | |
| { | |
| cityId: '16', | |
| villageId: '48', | |
| name: 'village 48 city 16', | |
| }, | |
| { | |
| cityId: '17', | |
| villageId: '49', | |
| name: 'village 49 city 17', | |
| }, | |
| { | |
| cityId: '17', | |
| villageId: '50', | |
| name: 'village 50 city 17', | |
| }, | |
| { | |
| cityId: '17', | |
| villageId: '51', | |
| name: 'village 51 city 17', | |
| }, | |
| { | |
| cityId: '18', | |
| villageId: '52', | |
| name: 'village 52 city 18', | |
| }, | |
| { | |
| cityId: '18', | |
| villageId: '53', | |
| name: 'village 53 city 18', | |
| }, | |
| { | |
| cityId: '18', | |
| villageId: '54', | |
| name: 'village 54 city 18', | |
| }, | |
| { | |
| cityId: '19', | |
| villageId: '55', | |
| name: 'village 55 city 19', | |
| }, | |
| { | |
| cityId: '19', | |
| villageId: '56', | |
| name: 'village 56 city 19', | |
| }, | |
| { | |
| cityId: '19', | |
| villageId: '57', | |
| name: 'village 57 city 19', | |
| }, | |
| { | |
| cityId: '20', | |
| villageId: '58', | |
| name: 'village 58 city 20', | |
| }, | |
| { | |
| cityId: '20', | |
| villageId: '59', | |
| name: 'village 59 city 20', | |
| }, | |
| { | |
| cityId: '20', | |
| villageId: '60', | |
| name: 'village 60 city 20', | |
| }, | |
| { | |
| cityId: '21', | |
| villageId: '61', | |
| name: 'village 61 city 21', | |
| }, | |
| { | |
| cityId: '21', | |
| villageId: '62', | |
| name: 'village 62 city 21', | |
| }, | |
| { | |
| cityId: '21', | |
| villageId: '63', | |
| name: 'village 63 city 21', | |
| }, | |
| { | |
| cityId: '22', | |
| villageId: '64', | |
| name: 'village 64 city 22', | |
| }, | |
| { | |
| cityId: '22', | |
| villageId: '65', | |
| name: 'village 65 city 22', | |
| }, | |
| { | |
| cityId: '22', | |
| villageId: '66', | |
| name: 'village 66 city 22', | |
| }, | |
| { | |
| cityId: '23', | |
| villageId: '67', | |
| name: 'village 67 city 23', | |
| }, | |
| { | |
| cityId: '23', | |
| villageId: '68', | |
| name: 'village 68 city 23', | |
| }, | |
| { | |
| cityId: '23', | |
| villageId: '69', | |
| name: 'village 69 city 23', | |
| }, | |
| { | |
| cityId: '24', | |
| villageId: '70', | |
| name: 'village 70 city 24', | |
| }, | |
| { | |
| cityId: '24', | |
| villageId: '71', | |
| name: 'village 71 city 24', | |
| }, | |
| { | |
| cityId: '24', | |
| villageId: '72', | |
| name: 'village 72 city 24', | |
| }, | |
| { | |
| cityId: '25', | |
| villageId: '73', | |
| name: 'village 73 city 25', | |
| }, | |
| { | |
| cityId: '25', | |
| villageId: '74', | |
| name: 'village 74 city 25', | |
| }, | |
| { | |
| cityId: '25', | |
| villageId: '75', | |
| name: 'village 75 city 25', | |
| }, | |
| { | |
| cityId: '26', | |
| villageId: '76', | |
| name: 'village 76 city 26', | |
| }, | |
| { | |
| cityId: '26', | |
| villageId: '77', | |
| name: 'village 77 city 26', | |
| }, | |
| { | |
| cityId: '26', | |
| villageId: '78', | |
| name: 'village 78 city 26', | |
| }, | |
| { | |
| cityId: '27', | |
| villageId: '79', | |
| name: 'village 79 city 27', | |
| }, | |
| { | |
| cityId: '27', | |
| villageId: '80', | |
| name: 'village 80 city 27', | |
| }, | |
| { | |
| cityId: '27', | |
| villageId: '81', | |
| name: 'village 81 city 27', | |
| }, | |
| { | |
| cityId: '28', | |
| villageId: '82', | |
| name: 'village 82 city 28', | |
| }, | |
| { | |
| cityId: '28', | |
| villageId: '83', | |
| name: 'village 83 city 28', | |
| }, | |
| { | |
| cityId: '28', | |
| villageId: '84', | |
| name: 'village 84 city 28', | |
| }, | |
| { | |
| cityId: '29', | |
| villageId: '85', | |
| name: 'village 85 city 29', | |
| }, | |
| { | |
| cityId: '29', | |
| villageId: '86', | |
| name: 'village 86 city 29', | |
| }, | |
| { | |
| cityId: '29', | |
| villageId: '87', | |
| name: 'village 87 city 29', | |
| }, | |
| { | |
| cityId: '30', | |
| villageId: '88', | |
| name: 'village 88 city 30', | |
| }, | |
| { | |
| cityId: '30', | |
| villageId: '89', | |
| name: 'village 89 city 30', | |
| }, | |
| { | |
| cityId: '30', | |
| villageId: '90', | |
| name: 'village 90 city 30', | |
| }, | |
| { | |
| cityId: '31', | |
| villageId: '91', | |
| name: 'village 91 city 31', | |
| }, | |
| { | |
| cityId: '31', | |
| villageId: '92', | |
| name: 'village 92 city 31', | |
| }, | |
| { | |
| cityId: '31', | |
| villageId: '93', | |
| name: 'village 93 city 31', | |
| }, | |
| { | |
| cityId: '32', | |
| villageId: '94', | |
| name: 'village 94 city 32', | |
| }, | |
| { | |
| cityId: '32', | |
| villageId: '95', | |
| name: 'village 95 city 32', | |
| }, | |
| { | |
| cityId: '32', | |
| villageId: '96', | |
| name: 'village 96 city 32', | |
| }, | |
| { | |
| cityId: '33', | |
| villageId: '97', | |
| name: 'village 97 city 33', | |
| }, | |
| { | |
| cityId: '33', | |
| villageId: '98', | |
| name: 'village 98 city 33', | |
| }, | |
| { | |
| cityId: '33', | |
| villageId: '99', | |
| name: 'village 99 city 33', | |
| }, | |
| { | |
| cityId: '34', | |
| villageId: '100', | |
| name: 'village 100 city 34', | |
| }, | |
| { | |
| cityId: '34', | |
| villageId: '101', | |
| name: 'village 101 city 34', | |
| }, | |
| { | |
| cityId: '34', | |
| villageId: '102', | |
| name: 'village 102 city 34', | |
| }, | |
| { | |
| cityId: '35', | |
| villageId: '103', | |
| name: 'village 103 city 35', | |
| }, | |
| { | |
| cityId: '35', | |
| villageId: '104', | |
| name: 'village 104 city 35', | |
| }, | |
| { | |
| cityId: '35', | |
| villageId: '105', | |
| name: 'village 105 city 35', | |
| }, | |
| { | |
| cityId: '36', | |
| villageId: '106', | |
| name: 'village 106 city 36', | |
| }, | |
| { | |
| cityId: '36', | |
| villageId: '107', | |
| name: 'village 107 city 36', | |
| }, | |
| { | |
| cityId: '36', | |
| villageId: '108', | |
| name: 'village 108 city 36', | |
| }, | |
| ]; | |
| export const listStreet = [ | |
| { | |
| villageId: '1', | |
| streetId: '1', | |
| name: 'village 1 street 1', | |
| }, | |
| { | |
| villageId: '1', | |
| streetId: '109', | |
| name: 'village 1 street 109', | |
| }, | |
| { | |
| villageId: '2', | |
| streetId: '2', | |
| name: 'village 2 street 2', | |
| }, | |
| { | |
| villageId: '2', | |
| streetId: '110', | |
| name: 'village 2 street 110', | |
| }, | |
| { | |
| villageId: '3', | |
| streetId: '3', | |
| name: 'village 3 street 3', | |
| }, | |
| { | |
| villageId: '3', | |
| streetId: '111', | |
| name: 'village 3 street 111', | |
| }, | |
| { | |
| villageId: '4', | |
| streetId: '4', | |
| name: 'village 4 street 4', | |
| }, | |
| { | |
| villageId: '4', | |
| streetId: '112', | |
| name: 'village 4 street 112', | |
| }, | |
| { | |
| villageId: '5', | |
| streetId: '5', | |
| name: 'village 5 street 5', | |
| }, | |
| { | |
| villageId: '5', | |
| streetId: '113', | |
| name: 'village 5 street 113', | |
| }, | |
| { | |
| villageId: '6', | |
| streetId: '6', | |
| name: 'village 6 street 6', | |
| }, | |
| { | |
| villageId: '6', | |
| streetId: '114', | |
| name: 'village 6 street 114', | |
| }, | |
| { | |
| villageId: '7', | |
| streetId: '7', | |
| name: 'village 7 street 7', | |
| }, | |
| { | |
| villageId: '7', | |
| streetId: '115', | |
| name: 'village 7 street 115', | |
| }, | |
| { | |
| villageId: '8', | |
| streetId: '8', | |
| name: 'village 8 street 8', | |
| }, | |
| { | |
| villageId: '8', | |
| streetId: '116', | |
| name: 'village 8 street 116', | |
| }, | |
| { | |
| villageId: '9', | |
| streetId: '9', | |
| name: 'village 9 street 9', | |
| }, | |
| { | |
| villageId: '9', | |
| streetId: '117', | |
| name: 'village 9 street 117', | |
| }, | |
| { | |
| villageId: '10', | |
| streetId: '10', | |
| name: 'village 10 street 10', | |
| }, | |
| { | |
| villageId: '10', | |
| streetId: '118', | |
| name: 'village 10 street 118', | |
| }, | |
| { | |
| villageId: '11', | |
| streetId: '11', | |
| name: 'village 11 street 11', | |
| }, | |
| { | |
| villageId: '11', | |
| streetId: '119', | |
| name: 'village 11 street 119', | |
| }, | |
| { | |
| villageId: '12', | |
| streetId: '12', | |
| name: 'village 12 street 12', | |
| }, | |
| { | |
| villageId: '12', | |
| streetId: '120', | |
| name: 'village 12 street 120', | |
| }, | |
| { | |
| villageId: '13', | |
| streetId: '13', | |
| name: 'village 13 street 13', | |
| }, | |
| { | |
| villageId: '13', | |
| streetId: '121', | |
| name: 'village 13 street 121', | |
| }, | |
| { | |
| villageId: '14', | |
| streetId: '14', | |
| name: 'village 14 street 14', | |
| }, | |
| { | |
| villageId: '14', | |
| streetId: '122', | |
| name: 'village 14 street 122', | |
| }, | |
| { | |
| villageId: '15', | |
| streetId: '15', | |
| name: 'village 15 street 15', | |
| }, | |
| { | |
| villageId: '15', | |
| streetId: '123', | |
| name: 'village 15 street 123', | |
| }, | |
| { | |
| villageId: '16', | |
| streetId: '16', | |
| name: 'village 16 street 16', | |
| }, | |
| { | |
| villageId: '16', | |
| streetId: '124', | |
| name: 'village 16 street 124', | |
| }, | |
| { | |
| villageId: '17', | |
| streetId: '17', | |
| name: 'village 17 street 17', | |
| }, | |
| { | |
| villageId: '17', | |
| streetId: '125', | |
| name: 'village 17 street 125', | |
| }, | |
| { | |
| villageId: '18', | |
| streetId: '18', | |
| name: 'village 18 street 18', | |
| }, | |
| { | |
| villageId: '18', | |
| streetId: '126', | |
| name: 'village 18 street 126', | |
| }, | |
| { | |
| villageId: '19', | |
| streetId: '19', | |
| name: 'village 19 street 19', | |
| }, | |
| { | |
| villageId: '19', | |
| streetId: '127', | |
| name: 'village 19 street 127', | |
| }, | |
| { | |
| villageId: '20', | |
| streetId: '20', | |
| name: 'village 20 street 20', | |
| }, | |
| { | |
| villageId: '20', | |
| streetId: '128', | |
| name: 'village 20 street 128', | |
| }, | |
| { | |
| villageId: '21', | |
| streetId: '21', | |
| name: 'village 21 street 21', | |
| }, | |
| { | |
| villageId: '21', | |
| streetId: '129', | |
| name: 'village 21 street 129', | |
| }, | |
| { | |
| villageId: '22', | |
| streetId: '22', | |
| name: 'village 22 street 22', | |
| }, | |
| { | |
| villageId: '22', | |
| streetId: '130', | |
| name: 'village 22 street 130', | |
| }, | |
| { | |
| villageId: '23', | |
| streetId: '23', | |
| name: 'village 23 street 23', | |
| }, | |
| { | |
| villageId: '23', | |
| streetId: '131', | |
| name: 'village 23 street 131', | |
| }, | |
| { | |
| villageId: '24', | |
| streetId: '24', | |
| name: 'village 24 street 24', | |
| }, | |
| { | |
| villageId: '24', | |
| streetId: '132', | |
| name: 'village 24 street 132', | |
| }, | |
| { | |
| villageId: '25', | |
| streetId: '25', | |
| name: 'village 25 street 25', | |
| }, | |
| { | |
| villageId: '25', | |
| streetId: '133', | |
| name: 'village 25 street 133', | |
| }, | |
| { | |
| villageId: '26', | |
| streetId: '26', | |
| name: 'village 26 street 26', | |
| }, | |
| { | |
| villageId: '26', | |
| streetId: '134', | |
| name: 'village 26 street 134', | |
| }, | |
| { | |
| villageId: '27', | |
| streetId: '27', | |
| name: 'village 27 street 27', | |
| }, | |
| { | |
| villageId: '27', | |
| streetId: '135', | |
| name: 'village 27 street 135', | |
| }, | |
| { | |
| villageId: '28', | |
| streetId: '28', | |
| name: 'village 28 street 28', | |
| }, | |
| { | |
| villageId: '28', | |
| streetId: '136', | |
| name: 'village 28 street 136', | |
| }, | |
| { | |
| villageId: '29', | |
| streetId: '29', | |
| name: 'village 29 street 29', | |
| }, | |
| { | |
| villageId: '29', | |
| streetId: '137', | |
| name: 'village 29 street 137', | |
| }, | |
| { | |
| villageId: '30', | |
| streetId: '30', | |
| name: 'village 30 street 30', | |
| }, | |
| { | |
| villageId: '30', | |
| streetId: '138', | |
| name: 'village 30 street 138', | |
| }, | |
| { | |
| villageId: '31', | |
| streetId: '31', | |
| name: 'village 31 street 31', | |
| }, | |
| { | |
| villageId: '31', | |
| streetId: '139', | |
| name: 'village 31 street 139', | |
| }, | |
| { | |
| villageId: '32', | |
| streetId: '32', | |
| name: 'village 32 street 32', | |
| }, | |
| { | |
| villageId: '32', | |
| streetId: '140', | |
| name: 'village 32 street 140', | |
| }, | |
| { | |
| villageId: '33', | |
| streetId: '33', | |
| name: 'village 33 street 33', | |
| }, | |
| { | |
| villageId: '33', | |
| streetId: '141', | |
| name: 'village 33 street 141', | |
| }, | |
| { | |
| villageId: '34', | |
| streetId: '34', | |
| name: 'village 34 street 34', | |
| }, | |
| { | |
| villageId: '34', | |
| streetId: '142', | |
| name: 'village 34 street 142', | |
| }, | |
| { | |
| villageId: '35', | |
| streetId: '35', | |
| name: 'village 35 street 35', | |
| }, | |
| { | |
| villageId: '35', | |
| streetId: '143', | |
| name: 'village 35 street 143', | |
| }, | |
| { | |
| villageId: '36', | |
| streetId: '36', | |
| name: 'village 36 street 36', | |
| }, | |
| { | |
| villageId: '36', | |
| streetId: '144', | |
| name: 'village 36 street 144', | |
| }, | |
| { | |
| villageId: '37', | |
| streetId: '37', | |
| name: 'village 37 street 37', | |
| }, | |
| { | |
| villageId: '37', | |
| streetId: '145', | |
| name: 'village 37 street 145', | |
| }, | |
| { | |
| villageId: '38', | |
| streetId: '38', | |
| name: 'village 38 street 38', | |
| }, | |
| { | |
| villageId: '38', | |
| streetId: '146', | |
| name: 'village 38 street 146', | |
| }, | |
| { | |
| villageId: '39', | |
| streetId: '39', | |
| name: 'village 39 street 39', | |
| }, | |
| { | |
| villageId: '39', | |
| streetId: '147', | |
| name: 'village 39 street 147', | |
| }, | |
| { | |
| villageId: '40', | |
| streetId: '40', | |
| name: 'village 40 street 40', | |
| }, | |
| { | |
| villageId: '40', | |
| streetId: '148', | |
| name: 'village 40 street 148', | |
| }, | |
| { | |
| villageId: '41', | |
| streetId: '41', | |
| name: 'village 41 street 41', | |
| }, | |
| { | |
| villageId: '41', | |
| streetId: '149', | |
| name: 'village 41 street 149', | |
| }, | |
| { | |
| villageId: '42', | |
| streetId: '42', | |
| name: 'village 42 street 42', | |
| }, | |
| { | |
| villageId: '42', | |
| streetId: '150', | |
| name: 'village 42 street 150', | |
| }, | |
| { | |
| villageId: '43', | |
| streetId: '43', | |
| name: 'village 43 street 43', | |
| }, | |
| { | |
| villageId: '43', | |
| streetId: '151', | |
| name: 'village 43 street 151', | |
| }, | |
| { | |
| villageId: '44', | |
| streetId: '44', | |
| name: 'village 44 street 44', | |
| }, | |
| { | |
| villageId: '44', | |
| streetId: '152', | |
| name: 'village 44 street 152', | |
| }, | |
| { | |
| villageId: '45', | |
| streetId: '45', | |
| name: 'village 45 street 45', | |
| }, | |
| { | |
| villageId: '45', | |
| streetId: '153', | |
| name: 'village 45 street 153', | |
| }, | |
| { | |
| villageId: '46', | |
| streetId: '46', | |
| name: 'village 46 street 46', | |
| }, | |
| { | |
| villageId: '46', | |
| streetId: '154', | |
| name: 'village 46 street 154', | |
| }, | |
| { | |
| villageId: '47', | |
| streetId: '47', | |
| name: 'village 47 street 47', | |
| }, | |
| { | |
| villageId: '47', | |
| streetId: '155', | |
| name: 'village 47 street 155', | |
| }, | |
| { | |
| villageId: '48', | |
| streetId: '48', | |
| name: 'village 48 street 48', | |
| }, | |
| { | |
| villageId: '48', | |
| streetId: '156', | |
| name: 'village 48 street 156', | |
| }, | |
| { | |
| villageId: '49', | |
| streetId: '49', | |
| name: 'village 49 street 49', | |
| }, | |
| { | |
| villageId: '49', | |
| streetId: '157', | |
| name: 'village 49 street 157', | |
| }, | |
| { | |
| villageId: '50', | |
| streetId: '50', | |
| name: 'village 50 street 50', | |
| }, | |
| { | |
| villageId: '50', | |
| streetId: '158', | |
| name: 'village 50 street 158', | |
| }, | |
| { | |
| villageId: '51', | |
| streetId: '51', | |
| name: 'village 51 street 51', | |
| }, | |
| { | |
| villageId: '51', | |
| streetId: '159', | |
| name: 'village 51 street 159', | |
| }, | |
| { | |
| villageId: '52', | |
| streetId: '52', | |
| name: 'village 52 street 52', | |
| }, | |
| { | |
| villageId: '52', | |
| streetId: '160', | |
| name: 'village 52 street 160', | |
| }, | |
| { | |
| villageId: '53', | |
| streetId: '53', | |
| name: 'village 53 street 53', | |
| }, | |
| { | |
| villageId: '53', | |
| streetId: '161', | |
| name: 'village 53 street 161', | |
| }, | |
| { | |
| villageId: '54', | |
| streetId: '54', | |
| name: 'village 54 street 54', | |
| }, | |
| { | |
| villageId: '54', | |
| streetId: '162', | |
| name: 'village 54 street 162', | |
| }, | |
| { | |
| villageId: '55', | |
| streetId: '55', | |
| name: 'village 55 street 55', | |
| }, | |
| { | |
| villageId: '55', | |
| streetId: '163', | |
| name: 'village 55 street 163', | |
| }, | |
| { | |
| villageId: '56', | |
| streetId: '56', | |
| name: 'village 56 street 56', | |
| }, | |
| { | |
| villageId: '56', | |
| streetId: '164', | |
| name: 'village 56 street 164', | |
| }, | |
| { | |
| villageId: '57', | |
| streetId: '57', | |
| name: 'village 57 street 57', | |
| }, | |
| { | |
| villageId: '57', | |
| streetId: '165', | |
| name: 'village 57 street 165', | |
| }, | |
| { | |
| villageId: '58', | |
| streetId: '58', | |
| name: 'village 58 street 58', | |
| }, | |
| { | |
| villageId: '58', | |
| streetId: '166', | |
| name: 'village 58 street 166', | |
| }, | |
| { | |
| villageId: '59', | |
| streetId: '59', | |
| name: 'village 59 street 59', | |
| }, | |
| { | |
| villageId: '59', | |
| streetId: '167', | |
| name: 'village 59 street 167', | |
| }, | |
| { | |
| villageId: '60', | |
| streetId: '60', | |
| name: 'village 60 street 60', | |
| }, | |
| { | |
| villageId: '60', | |
| streetId: '168', | |
| name: 'village 60 street 168', | |
| }, | |
| { | |
| villageId: '61', | |
| streetId: '61', | |
| name: 'village 61 street 61', | |
| }, | |
| { | |
| villageId: '61', | |
| streetId: '169', | |
| name: 'village 61 street 169', | |
| }, | |
| { | |
| villageId: '62', | |
| streetId: '62', | |
| name: 'village 62 street 62', | |
| }, | |
| { | |
| villageId: '62', | |
| streetId: '170', | |
| name: 'village 62 street 170', | |
| }, | |
| { | |
| villageId: '63', | |
| streetId: '63', | |
| name: 'village 63 street 63', | |
| }, | |
| { | |
| villageId: '63', | |
| streetId: '171', | |
| name: 'village 63 street 171', | |
| }, | |
| { | |
| villageId: '64', | |
| streetId: '64', | |
| name: 'village 64 street 64', | |
| }, | |
| { | |
| villageId: '64', | |
| streetId: '172', | |
| name: 'village 64 street 172', | |
| }, | |
| { | |
| villageId: '65', | |
| streetId: '65', | |
| name: 'village 65 street 65', | |
| }, | |
| { | |
| villageId: '65', | |
| streetId: '173', | |
| name: 'village 65 street 173', | |
| }, | |
| { | |
| villageId: '66', | |
| streetId: '66', | |
| name: 'village 66 street 66', | |
| }, | |
| { | |
| villageId: '66', | |
| streetId: '174', | |
| name: 'village 66 street 174', | |
| }, | |
| { | |
| villageId: '67', | |
| streetId: '67', | |
| name: 'village 67 street 67', | |
| }, | |
| { | |
| villageId: '67', | |
| streetId: '175', | |
| name: 'village 67 street 175', | |
| }, | |
| { | |
| villageId: '68', | |
| streetId: '68', | |
| name: 'village 68 street 68', | |
| }, | |
| { | |
| villageId: '68', | |
| streetId: '176', | |
| name: 'village 68 street 176', | |
| }, | |
| { | |
| villageId: '69', | |
| streetId: '69', | |
| name: 'village 69 street 69', | |
| }, | |
| { | |
| villageId: '69', | |
| streetId: '177', | |
| name: 'village 69 street 177', | |
| }, | |
| { | |
| villageId: '70', | |
| streetId: '70', | |
| name: 'village 70 street 70', | |
| }, | |
| { | |
| villageId: '70', | |
| streetId: '178', | |
| name: 'village 70 street 178', | |
| }, | |
| { | |
| villageId: '71', | |
| streetId: '71', | |
| name: 'village 71 street 71', | |
| }, | |
| { | |
| villageId: '71', | |
| streetId: '179', | |
| name: 'village 71 street 179', | |
| }, | |
| { | |
| villageId: '72', | |
| streetId: '72', | |
| name: 'village 72 street 72', | |
| }, | |
| { | |
| villageId: '72', | |
| streetId: '180', | |
| name: 'village 72 street 180', | |
| }, | |
| { | |
| villageId: '73', | |
| streetId: '73', | |
| name: 'village 73 street 73', | |
| }, | |
| { | |
| villageId: '73', | |
| streetId: '181', | |
| name: 'village 73 street 181', | |
| }, | |
| { | |
| villageId: '74', | |
| streetId: '74', | |
| name: 'village 74 street 74', | |
| }, | |
| { | |
| villageId: '74', | |
| streetId: '182', | |
| name: 'village 74 street 182', | |
| }, | |
| { | |
| villageId: '75', | |
| streetId: '75', | |
| name: 'village 75 street 75', | |
| }, | |
| { | |
| villageId: '75', | |
| streetId: '183', | |
| name: 'village 75 street 183', | |
| }, | |
| { | |
| villageId: '76', | |
| streetId: '76', | |
| name: 'village 76 street 76', | |
| }, | |
| { | |
| villageId: '76', | |
| streetId: '184', | |
| name: 'village 76 street 184', | |
| }, | |
| { | |
| villageId: '77', | |
| streetId: '77', | |
| name: 'village 77 street 77', | |
| }, | |
| { | |
| villageId: '77', | |
| streetId: '185', | |
| name: 'village 77 street 185', | |
| }, | |
| { | |
| villageId: '78', | |
| streetId: '78', | |
| name: 'village 78 street 78', | |
| }, | |
| { | |
| villageId: '78', | |
| streetId: '186', | |
| name: 'village 78 street 186', | |
| }, | |
| { | |
| villageId: '79', | |
| streetId: '79', | |
| name: 'village 79 street 79', | |
| }, | |
| { | |
| villageId: '79', | |
| streetId: '187', | |
| name: 'village 79 street 187', | |
| }, | |
| { | |
| villageId: '80', | |
| streetId: '80', | |
| name: 'village 80 street 80', | |
| }, | |
| { | |
| villageId: '80', | |
| streetId: '188', | |
| name: 'village 80 street 188', | |
| }, | |
| { | |
| villageId: '81', | |
| streetId: '81', | |
| name: 'village 81 street 81', | |
| }, | |
| { | |
| villageId: '81', | |
| streetId: '189', | |
| name: 'village 81 street 189', | |
| }, | |
| { | |
| villageId: '82', | |
| streetId: '82', | |
| name: 'village 82 street 82', | |
| }, | |
| { | |
| villageId: '82', | |
| streetId: '190', | |
| name: 'village 82 street 190', | |
| }, | |
| { | |
| villageId: '83', | |
| streetId: '83', | |
| name: 'village 83 street 83', | |
| }, | |
| { | |
| villageId: '83', | |
| streetId: '191', | |
| name: 'village 83 street 191', | |
| }, | |
| { | |
| villageId: '84', | |
| streetId: '84', | |
| name: 'village 84 street 84', | |
| }, | |
| { | |
| villageId: '84', | |
| streetId: '192', | |
| name: 'village 84 street 192', | |
| }, | |
| { | |
| villageId: '85', | |
| streetId: '85', | |
| name: 'village 85 street 85', | |
| }, | |
| { | |
| villageId: '85', | |
| streetId: '193', | |
| name: 'village 85 street 193', | |
| }, | |
| { | |
| villageId: '86', | |
| streetId: '86', | |
| name: 'village 86 street 86', | |
| }, | |
| { | |
| villageId: '86', | |
| streetId: '194', | |
| name: 'village 86 street 194', | |
| }, | |
| { | |
| villageId: '87', | |
| streetId: '87', | |
| name: 'village 87 street 87', | |
| }, | |
| { | |
| villageId: '87', | |
| streetId: '195', | |
| name: 'village 87 street 195', | |
| }, | |
| { | |
| villageId: '88', | |
| streetId: '88', | |
| name: 'village 88 street 88', | |
| }, | |
| { | |
| villageId: '88', | |
| streetId: '196', | |
| name: 'village 88 street 196', | |
| }, | |
| { | |
| villageId: '89', | |
| streetId: '89', | |
| name: 'village 89 street 89', | |
| }, | |
| { | |
| villageId: '89', | |
| streetId: '197', | |
| name: 'village 89 street 197', | |
| }, | |
| { | |
| villageId: '90', | |
| streetId: '90', | |
| name: 'village 90 street 90', | |
| }, | |
| { | |
| villageId: '90', | |
| streetId: '198', | |
| name: 'village 90 street 198', | |
| }, | |
| { | |
| villageId: '91', | |
| streetId: '91', | |
| name: 'village 91 street 91', | |
| }, | |
| { | |
| villageId: '91', | |
| streetId: '199', | |
| name: 'village 91 street 199', | |
| }, | |
| { | |
| villageId: '92', | |
| streetId: '92', | |
| name: 'village 92 street 92', | |
| }, | |
| { | |
| villageId: '92', | |
| streetId: '200', | |
| name: 'village 92 street 200', | |
| }, | |
| { | |
| villageId: '93', | |
| streetId: '93', | |
| name: 'village 93 street 93', | |
| }, | |
| { | |
| villageId: '93', | |
| streetId: '201', | |
| name: 'village 93 street 201', | |
| }, | |
| { | |
| villageId: '94', | |
| streetId: '94', | |
| name: 'village 94 street 94', | |
| }, | |
| { | |
| villageId: '94', | |
| streetId: '202', | |
| name: 'village 94 street 202', | |
| }, | |
| { | |
| villageId: '95', | |
| streetId: '95', | |
| name: 'village 95 street 95', | |
| }, | |
| { | |
| villageId: '95', | |
| streetId: '203', | |
| name: 'village 95 street 203', | |
| }, | |
| { | |
| villageId: '96', | |
| streetId: '96', | |
| name: 'village 96 street 96', | |
| }, | |
| { | |
| villageId: '96', | |
| streetId: '204', | |
| name: 'village 96 street 204', | |
| }, | |
| { | |
| villageId: '97', | |
| streetId: '97', | |
| name: 'village 97 street 97', | |
| }, | |
| { | |
| villageId: '97', | |
| streetId: '205', | |
| name: 'village 97 street 205', | |
| }, | |
| { | |
| villageId: '98', | |
| streetId: '98', | |
| name: 'village 98 street 98', | |
| }, | |
| { | |
| villageId: '98', | |
| streetId: '206', | |
| name: 'village 98 street 206', | |
| }, | |
| { | |
| villageId: '99', | |
| streetId: '99', | |
| name: 'village 99 street 99', | |
| }, | |
| { | |
| villageId: '99', | |
| streetId: '207', | |
| name: 'village 99 street 207', | |
| }, | |
| { | |
| villageId: '100', | |
| streetId: '100', | |
| name: 'village 100 street 100', | |
| }, | |
| { | |
| villageId: '100', | |
| streetId: '208', | |
| name: 'village 100 street 208', | |
| }, | |
| { | |
| villageId: '101', | |
| streetId: '101', | |
| name: 'village 101 street 101', | |
| }, | |
| { | |
| villageId: '101', | |
| streetId: '209', | |
| name: 'village 101 street 209', | |
| }, | |
| { | |
| villageId: '102', | |
| streetId: '102', | |
| name: 'village 102 street 102', | |
| }, | |
| { | |
| villageId: '102', | |
| streetId: '210', | |
| name: 'village 102 street 210', | |
| }, | |
| { | |
| villageId: '103', | |
| streetId: '103', | |
| name: 'village 103 street 103', | |
| }, | |
| { | |
| villageId: '103', | |
| streetId: '211', | |
| name: 'village 103 street 211', | |
| }, | |
| { | |
| villageId: '104', | |
| streetId: '104', | |
| name: 'village 104 street 104', | |
| }, | |
| { | |
| villageId: '104', | |
| streetId: '212', | |
| name: 'village 104 street 212', | |
| }, | |
| { | |
| villageId: '105', | |
| streetId: '105', | |
| name: 'village 105 street 105', | |
| }, | |
| { | |
| villageId: '105', | |
| streetId: '213', | |
| name: 'village 105 street 213', | |
| }, | |
| { | |
| villageId: '106', | |
| streetId: '106', | |
| name: 'village 106 street 106', | |
| }, | |
| { | |
| villageId: '106', | |
| streetId: '214', | |
| name: 'village 106 street 214', | |
| }, | |
| { | |
| villageId: '107', | |
| streetId: '107', | |
| name: 'village 107 street 107', | |
| }, | |
| { | |
| villageId: '107', | |
| streetId: '215', | |
| name: 'village 107 street 215', | |
| }, | |
| { | |
| villageId: '108', | |
| streetId: '108', | |
| name: 'village 108 street 108', | |
| }, | |
| { | |
| villageId: '108', | |
| streetId: '216', | |
| name: 'village 108 street 216', | |
| }, | |
| ]; | |
| export const listCountry = [ | |
| { countryId: '1', name: 'india' }, | |
| { countryId: '2', name: 'uk' }, | |
| { countryId: '3', name: 'canada' }, | |
| { countryId: '4', name: 'us' }, | |
| ]; | |
| export const listSate = [ | |
| { stateId: '1', countryId: '1', name: 'state1_india' }, | |
| { stateId: '2', countryId: '1', name: 'state2_india' }, | |
| { stateId: '3', countryId: '1', name: 'state3_india' }, | |
| { stateId: '4', countryId: '2', name: 'state1_uk' }, | |
| { stateId: '5', countryId: '2', name: 'state2_uk' }, | |
| { stateId: '6', countryId: '2', name: 'state3_uk' }, | |
| { stateId: '7', countryId: '3', name: 'state1_canada' }, | |
| { stateId: '8', countryId: '3', name: 'state2_canada' }, | |
| { stateId: '9', countryId: '3', name: 'state3_canada' }, | |
| { stateId: '10', countryId: '4', name: 'state1_us' }, | |
| { stateId: '11', countryId: '4', name: 'state2_us' }, | |
| { stateId: '12', countryId: '4', name: 'state3_us' }, | |
| ]; | |
| export const listCity = [ | |
| { | |
| cityId: '1', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city1_state1_country1', | |
| }, | |
| { | |
| cityId: '2', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city2_state1_country1', | |
| }, | |
| { | |
| cityId: '3', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city3_state1_country1', | |
| }, | |
| { | |
| cityId: '4', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city4_state2_country1', | |
| }, | |
| { | |
| cityId: '5', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city5_state2_country1', | |
| }, | |
| { | |
| cityId: '6', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city6_state2_country1', | |
| }, | |
| { | |
| cityId: '7', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city7_state3_country1', | |
| }, | |
| { | |
| cityId: '8', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city8_state3_country1', | |
| }, | |
| { | |
| cityId: '9', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city9_state3_country1', | |
| }, | |
| { | |
| cityId: '10', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city10_state4_country2', | |
| }, | |
| { | |
| cityId: '11', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city11_state4_country2', | |
| }, | |
| { | |
| cityId: '12', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city12_state4_country2', | |
| }, | |
| { | |
| cityId: '13', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city13_state5_country2', | |
| }, | |
| { | |
| cityId: '14', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city14_state5_country2', | |
| }, | |
| { | |
| cityId: '15', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city15_state5_country2', | |
| }, | |
| { | |
| cityId: '16', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city16_state6_country2', | |
| }, | |
| { | |
| cityId: '17', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city17_state6_country2', | |
| }, | |
| { | |
| cityId: '18', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city18_state6_country2', | |
| }, | |
| { | |
| cityId: '19', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city19_state7_country3', | |
| }, | |
| { | |
| cityId: '20', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city20_state7_country3', | |
| }, | |
| { | |
| cityId: '21', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city21_state7_country3', | |
| }, | |
| { | |
| cityId: '22', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city22_state8_country3', | |
| }, | |
| { | |
| cityId: '23', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city23_state8_country3', | |
| }, | |
| { | |
| cityId: '24', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city24_state8_country3', | |
| }, | |
| { | |
| cityId: '25', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city25_state9_country3', | |
| }, | |
| { | |
| cityId: '26', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city26_state9_country3', | |
| }, | |
| { | |
| cityId: '27', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city27_state9_country3', | |
| }, | |
| { | |
| cityId: '28', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city28_state10_country4', | |
| }, | |
| { | |
| cityId: '29', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city29_state10_country4', | |
| }, | |
| { | |
| cityId: '30', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city30_state10_country4', | |
| }, | |
| { | |
| cityId: '31', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city31_state11_country4', | |
| }, | |
| { | |
| cityId: '32', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city32_state11_country4', | |
| }, | |
| { | |
| cityId: '33', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city33_state11_country4', | |
| }, | |
| { | |
| cityId: '34', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city34_state12_country4', | |
| }, | |
| { | |
| cityId: '35', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city35_state12_country4', | |
| }, | |
| { | |
| cityId: '36', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city36_state12_country4', | |
| }, | |
| ]; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import React, { useState, useEffect } from 'react'; | |
| import { View, Text, StyleSheet, TouchableOpacity } from 'react-native'; | |
| import { Dropdown } from 'react-native-element-dropdown'; | |
| import { Snackbar } from 'react-native-paper'; | |
| const listCountry = [ | |
| { countryId: '1', name: 'india' }, | |
| { countryId: '2', name: 'uk' }, | |
| { countryId: '3', name: 'canada' }, | |
| { countryId: '4', name: 'us' }, | |
| ]; | |
| const listSate = [ | |
| { stateId: '1', countryId: '1', name: 'state1_india' }, | |
| { stateId: '2', countryId: '1', name: 'state2_india' }, | |
| { stateId: '3', countryId: '1', name: 'state3_india' }, | |
| { stateId: '4', countryId: '2', name: 'state1_uk' }, | |
| { stateId: '5', countryId: '2', name: 'state2_uk' }, | |
| { stateId: '6', countryId: '2', name: 'state3_uk' }, | |
| { stateId: '7', countryId: '3', name: 'state1_canada' }, | |
| { stateId: '8', countryId: '3', name: 'state2_canada' }, | |
| { stateId: '9', countryId: '3', name: 'state3_canada' }, | |
| { stateId: '10', countryId: '4', name: 'state1_us' }, | |
| { stateId: '11', countryId: '4', name: 'state2_us' }, | |
| { stateId: '12', countryId: '4', name: 'state3_us' }, | |
| ]; | |
| const listCity = [ | |
| { | |
| cityId: '1', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city1_state1_country1', | |
| }, | |
| { | |
| cityId: '2', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city2_state1_country1', | |
| }, | |
| { | |
| cityId: '3', | |
| stateId: '1', | |
| countryId: '1', | |
| name: 'city3_state1_country1', | |
| }, | |
| { | |
| cityId: '4', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city4_state2_country1', | |
| }, | |
| { | |
| cityId: '5', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city5_state2_country1', | |
| }, | |
| { | |
| cityId: '6', | |
| stateId: '2', | |
| countryId: '1', | |
| name: 'city6_state2_country1', | |
| }, | |
| { | |
| cityId: '7', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city7_state3_country1', | |
| }, | |
| { | |
| cityId: '8', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city8_state3_country1', | |
| }, | |
| { | |
| cityId: '9', | |
| stateId: '3', | |
| countryId: '1', | |
| name: 'city9_state3_country1', | |
| }, | |
| { | |
| cityId: '10', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city10_state4_country2', | |
| }, | |
| { | |
| cityId: '11', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city11_state4_country2', | |
| }, | |
| { | |
| cityId: '12', | |
| stateId: '4', | |
| countryId: '2', | |
| name: 'city12_state4_country2', | |
| }, | |
| { | |
| cityId: '13', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city13_state5_country2', | |
| }, | |
| { | |
| cityId: '14', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city14_state5_country2', | |
| }, | |
| { | |
| cityId: '15', | |
| stateId: '5', | |
| countryId: '2', | |
| name: 'city15_state5_country2', | |
| }, | |
| { | |
| cityId: '16', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city16_state6_country2', | |
| }, | |
| { | |
| cityId: '17', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city17_state6_country2', | |
| }, | |
| { | |
| cityId: '18', | |
| stateId: '6', | |
| countryId: '2', | |
| name: 'city18_state6_country2', | |
| }, | |
| { | |
| cityId: '19', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city19_state7_country3', | |
| }, | |
| { | |
| cityId: '20', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city20_state7_country3', | |
| }, | |
| { | |
| cityId: '21', | |
| stateId: '7', | |
| countryId: '3', | |
| name: 'city21_state7_country3', | |
| }, | |
| { | |
| cityId: '22', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city22_state8_country3', | |
| }, | |
| { | |
| cityId: '23', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city23_state8_country3', | |
| }, | |
| { | |
| cityId: '24', | |
| stateId: '8', | |
| countryId: '3', | |
| name: 'city24_state8_country3', | |
| }, | |
| { | |
| cityId: '25', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city25_state9_country3', | |
| }, | |
| { | |
| cityId: '26', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city26_state9_country3', | |
| }, | |
| { | |
| cityId: '27', | |
| stateId: '9', | |
| countryId: '3', | |
| name: 'city27_state9_country3', | |
| }, | |
| { | |
| cityId: '28', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city28_state10_country4', | |
| }, | |
| { | |
| cityId: '29', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city29_state10_country4', | |
| }, | |
| { | |
| cityId: '30', | |
| stateId: '10', | |
| countryId: '4', | |
| name: 'city30_state10_country4', | |
| }, | |
| { | |
| cityId: '31', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city31_state11_country4', | |
| }, | |
| { | |
| cityId: '32', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city32_state11_country4', | |
| }, | |
| { | |
| cityId: '33', | |
| stateId: '11', | |
| countryId: '4', | |
| name: 'city33_state11_country4', | |
| }, | |
| { | |
| cityId: '34', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city34_state12_country4', | |
| }, | |
| { | |
| cityId: '35', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city35_state12_country4', | |
| }, | |
| { | |
| cityId: '36', | |
| stateId: '12', | |
| countryId: '4', | |
| name: 'city36_state12_country4', | |
| }, | |
| ]; | |
| var country = { | |
| list: [], | |
| selectedCountry: {}, | |
| selectedValue: null, | |
| }; | |
| var state = { | |
| list: [], | |
| selectedState: {}, | |
| selectedValue: null, | |
| }; | |
| var city = { | |
| list: [], | |
| selectedCity: {}, | |
| selectedValue: null, | |
| }; | |
| var focusField = ''; | |
| var snackMsg = ''; | |
| export default function App() { | |
| const [refreshPage, setRefreshPage] = useState(false); | |
| const [visible, setVisible] = useState(false); | |
| const onToggleSnackBar = () => setVisible(!visible); | |
| const onDismissSnackBar = () => setVisible(false); | |
| const resetForm = () => { | |
| country = { | |
| list: [...listCountry], | |
| selectedCountry: {}, | |
| selectedValue: null, | |
| }; | |
| state = { list: [], selectedState: {}, selectedValue: null }; | |
| city = { list: [], selectedCity: {}, selectedValue: null }; | |
| focusField = ''; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const changeFocusField = (fld = '') => { | |
| focusField = fld; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const loadCity = async () => { | |
| city = { list: [], selectedCity: {}, selectedValue: null }; | |
| const arr = listCity.filter((ele) => ele.stateId === state.selectedValue); | |
| if (arr.length) city.list = arr; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| const loadState = async () => { | |
| state = { list: [], selectedState: {}, selectedValue: null }; | |
| city = { list: [], selectedCity: {}, selectedValue: null }; | |
| const arr = listSate.filter( | |
| (ele) => ele.countryId === country.selectedValue | |
| ); | |
| if (arr.length) { | |
| state.list = arr; | |
| } | |
| refreshPage(!refreshPage); | |
| }; | |
| const loadCountry = async () => { | |
| country.list = [...listCountry]; | |
| setRefreshPage(!refreshPage); | |
| }; | |
| useEffect(() => { | |
| loadCountry(); | |
| }, []); | |
| return ( | |
| <View style={styles.container}> | |
| <View> | |
| <Text>Country</Text> | |
| <ZDropDown | |
| data={country.list} | |
| labelField="name" | |
| valueField="countryId" | |
| value={country.selectedValue} | |
| isFocus={focusField === 'country'} | |
| onFocus={() => changeFocusField('country')} | |
| onBlur={() => changeFocusField('')} | |
| onChange={(item) => { | |
| country.selectedCountry = item; | |
| country.selectedValue = item.countryId; | |
| focusField = ''; | |
| loadState(); | |
| }} | |
| /> | |
| <Text>State</Text> | |
| <ZDropDown | |
| data={state.list} | |
| labelField="name" | |
| valueField="stateId" | |
| value={state.selectedValue} | |
| isFocus={focusField === 'state'} | |
| onFocus={() => { | |
| changeFocusField('state'); | |
| if (!country.selectedValue) { | |
| snackMsg = 'Select country'; | |
| onToggleSnackBar(); | |
| changeFocusField('country'); | |
| } | |
| }} | |
| onBlur={() => changeFocusField('')} | |
| onChange={(item) => { | |
| state.selectedValue = item.stateId; | |
| state.selectedState = item; | |
| changeFocusField(''); | |
| loadCity(); | |
| }} | |
| /> | |
| <Text>City</Text> | |
| <ZDropDown | |
| data={city.list} | |
| labelField="name" | |
| valueField="cityId" | |
| value={city.selectedValue} | |
| isFocus={focusField === 'city'} | |
| onFocus={() => { | |
| changeFocusField('city'); | |
| if (!country.selectedValue) { | |
| snackMsg = 'Select country'; | |
| onToggleSnackBar(); | |
| changeFocusField('country'); | |
| } else if (!state.selectedValue) { | |
| snackMsg = 'Select state'; | |
| onToggleSnackBar(); | |
| changeFocusField('state'); | |
| } | |
| }} | |
| onBlur={() => changeFocusField('')} | |
| onChange={(item) => { | |
| city.selectedValue = item.cityId; | |
| city.selectedCity = item; | |
| changeFocusField(''); | |
| }} | |
| /> | |
| </View> | |
| <View> | |
| <Text>Selected Country</Text> | |
| <Text style={styles.selectedValue}>{country.selectedCountry.name}</Text> | |
| <Text>Selected State</Text> | |
| <Text style={styles.selectedValue}>{state.selectedState.name}</Text> | |
| <Text>Selected City</Text> | |
| <Text style={styles.selectedValue}>{city.selectedCity.name}</Text> | |
| </View> | |
| <TouchableOpacity onPress={() => resetForm()} style={styles.clrBtn}> | |
| <Text style={styles.clrBtnTxt}>Reset</Text> | |
| </TouchableOpacity> | |
| <Snackbar duration={2000} visible={visible} onDismiss={onDismissSnackBar}> | |
| {snackMsg} | |
| </Snackbar> | |
| </View> | |
| ); | |
| } | |
| const ZDropDown = ({ | |
| data, | |
| labelField, | |
| valueField, | |
| value, | |
| onFocus, | |
| onBlur, | |
| onChange, | |
| isFocus, | |
| }) => { | |
| return ( | |
| <Dropdown | |
| mode={'auto'} | |
| style={[styles.dropdown, isFocus ? { borderColor: 'dodgerblue' } : {}]} | |
| placeholderStyle={styles.placeholderStyle} | |
| selectedTextStyle={styles.selectedTextStyle} | |
| inputSearchStyle={styles.inputSearchStyle} | |
| iconStyle={styles.iconStyle} | |
| search={data.length > 5} | |
| maxHeight={300} | |
| searchPlaceholder="Search..." | |
| data={data} | |
| labelField={labelField} | |
| valueField={valueField} | |
| placeholder={!isFocus ? 'Select item' : '...'} | |
| value={value} | |
| onFocus={onFocus} | |
| onBlur={onBlur} | |
| onChange={onChange} | |
| /> | |
| ); | |
| }; | |
| const styles = StyleSheet.create({ | |
| container: { | |
| flex: 1, | |
| padding: 20, | |
| }, | |
| clrBtn: { | |
| padding: 10, | |
| alignItems: 'center', | |
| alignSelf: 'center', | |
| }, | |
| clrBtnTxt: { | |
| color: 'grey', | |
| }, | |
| selectedValue: { | |
| color: 'steelblue', | |
| marginLeft: 5, | |
| marginTop: 5, | |
| marginBottom: 10, | |
| }, | |
| dropdown: { | |
| height: 50, | |
| borderColor: 'gray', | |
| borderWidth: 0.5, | |
| borderRadius: 8, | |
| paddingHorizontal: 8, | |
| marginTop: 5, | |
| marginBottom: 20, | |
| }, | |
| placeholderStyle: { | |
| fontSize: 16, | |
| }, | |
| selectedTextStyle: { | |
| fontSize: 16, | |
| }, | |
| iconStyle: { | |
| width: 20, | |
| height: 20, | |
| }, | |
| inputSearchStyle: { | |
| height: 40, | |
| fontSize: 16, | |
| }, | |
| }); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment