Flutter应用在检索API时加载 [英] Flutter app with loading while retrieving API

查看:61
本文介绍了Flutter应用在检索API时加载的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的API会返回这样的值.

I'm using an API which returns the value like this.

[
    {
        "store": "AMAZON"
    },
    {
        "store": "FLIPKART"
    },
    {
        "store": "WALMART"
    },
    {
        "store": "ALIBABA"
    },

]

我需要将此添加到下拉列表中.我需要一个带有此API数据的下拉按钮.请有人帮忙.我尝试了很多方法,但没有任何效果.

I need this to be in a drop down. I need a drop down button with this API data in it. Some one help please. I have tried many ways but nothing worked.

推荐答案

nigale 尝试代码:

List<String> markets = []; // Or  var markets = [];

  String _mySelection;
  @override
  void initState() {
    buidDropDownItems();
    super.initState();
  }

// 
void buidDropDownItems() async {
    markets = await retrievedata.getMarket();
    // Refresh the UI if the State object has been created
    if(mounted){
      setState(() {});
    }
}

 child: DropdownButton(
          items: markets.map<DropdownMenuItem<String>>((String val){
                  return DropdownMenuItem<String>(value: val, child: Text(val));
                }).toList(), // Get items from the available data in markets variable
          onChanged: (sto) {
            setState(() {
              _mySelection = sto;
            });
          },
          value: _mySelection,
          hint: Text('Please select the store: '),
        ),

函数 retrievedata.getMarket(); 返回 Future< dynamic> ,其中 dynamic 是您的市场列表.

The function retrievedata.getMarket(); is returning Future<dynamic> which dynamic is your markets list.

这篇关于Flutter应用在检索API时加载的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆