У меня проблема, я пытаюсь отобразить список данных, используя
SelectMultiple from "react-native-select-multiple"
Теперь, я с предыдущего экрана, я использую this.props.navigation.navigate
и получаю массив со значениями
[{val:24, name:'India'},{val:23, name:'Iceland'}]
и сохраните сверху в массиве как
mySelectedCountries = this.props.navigation.state.params.countries;
, а затем воспользуйтесь функцией выбора нескольких и попытайтесь отобразить список состояний каждой страны с помощью API.
Вот мой получить запрос
getStates = (val) => {
ajax.get(route('states.index'), {
params: {
country_id: val,
all: true
}
})
.then(res => {
console.log('States list', res.data.data);
this.myStatesData.push(res.data.data);
})
.catch(err => {
this.setState({ loading: false }, () => {
Alert.alert(
'Something went wrong!',
'Please go to previous step and retry',
[],
{ cancelable: true },
);
});
console.log(err);
});
}
и затем я пытаюсь отобразить на StatesData, который был объявлен поверх моей программы как пустой массив
myListedData = this.myStatesData.map((oneState) => {
return (<SelectMultiple
items={oneState.map((x) => ({ label: x.name, value:x.id }))}
selectedItems={this.state.selectedStates}
onSelectionsChange={this.onSelectionsChange}
maxSelect={3}
/>)
})
, который я отображаю в возвращении как {myListedData}
все, что я хочу, это название страны, затем список штатов и так далее. Обратите внимание, что в приведенном выше массиве с именем страны и идентификатором (mySelectedCountries) для каждого идентификатора мне нужно выполнить API-вызов этого состояния, чтобы я мог получить список состояний, находящихся внутри идентификатора этой страны. Я делаю это в componentDidMount
componentDidMount = () => {
this.mySelectedCountries.map((x) => {
return this.getStates(x.value);
})
}
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация по этому, заранее спасибо:)