如何解决使用来自 API 的数据填充 flutter dropdownButton 时出错
我有一个应用程序,我需要在其中显示一组年份,这些年份来自 API 调用。目前我能够成功生成数据并访问它,我正在使用打印语句查看数据。
我需要将此数据呈现到 dropdownButton 上,但是我收到了一些错误。
这是我的网络电话
Future <List <dynamic>> fetchFilters() async{
dynamic response = await $apiUrl',headers: {'x-api-key': $key);
var filterData = List<dynamic>();
if (response.statusCode == 200){
dynamic filterjson = jsonDecode(response.body);
String filterData = filterjson;
//Todo: remove print statements
//print('finish');
//print(filterData);
}
//Inventory is returned
return filterData;
}
这将数据从该视图返回到我的一个视图,我可以执行打印语句并打印出从 API 调用返回的数据。但是当我尝试将数据呈现到 dropdownButton 上时,我收到以下错误: RangeError (index): Invalid value: Valid value range is empty: 1
这是视图代码
dynamic _selectedValue;
List filterDataList = [];
//Create Network Helper Obj
NetworkHelper networkHelper = NetworkHelper();
@override
void initState() {
super.initState();
networkHelper.fetchFilters().then((value){
setState(() {
this.filterDataList.addAll(value);
});
});
}
@override
Widget build(BuildContext context) {
print(filterDataList[1]['year']);
return Scaffold(
backgroundColor: Colors.white,appBar: AppBar(
elevation: 0.0,title: AppBarTitle(),),body: DropdownButton<String>(
value: _selectedValue,items: filterDataList[1]['year'].map((item) => DropdownMenuItem<dynamic>(child: Text(item))).toList(),hint: Text("Select Year"),onChanged: (String value){
setState(() {
_selectedValue = value;
print(_selectedValue);
});
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。