getStates method
get states from json response
Implementation
Future<List<String?>> getStates() async {
_states.clear();
//print(_selectedCountry);
var response = await getResponse();
var takeState = widget.flagState == CountryFlag.ENABLE ||
widget.flagState == CountryFlag.SHOW_IN_DROP_DOWN_ONLY
? response
.map((map) => Country.fromJson(map))
.where(
(item) => item.emoji + " " + item.name == _selectedCountry)
.map((item) => item.state)
.toList()
: response
.map((map) => Country.fromJson(map))
.where((item) => item.name == _selectedCountry)
.map((item) => item.state)
.toList();
var states = takeState as List;
states.forEach((f) {
if (!mounted) return;
setState(() {
var name = f.map((item) => item.name).toList();
for (var stateName in name) {
//print(stateName.toString());
_states.add(stateName.toString());
}
});
});
_states.sort((a, b) => a!.compareTo(b!));
return _states;
}