API를 검색하는 동안로드되는 Flutter 앱

Nov 18 2020

이와 같은 값을 반환하는 API를 사용하고 있습니다.

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

]

드롭 다운에 있어야합니다. 이 API 데이터가있는 드롭 다운 버튼이 필요합니다. 도와주세요. 여러 가지 방법을 시도했지만 효과가 없었습니다.

답변

1 Jhakiz Nov 18 2020 at 20:33

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당신의 시장 목록입니다.

AmrMo Nov 18 2020 at 19:49

이 배열이 다음과 같은 변수에서 검색된다고 가정 해 보겠습니다. data

 List<String>list=[];
for(var itemData in data){
  list.add(itemData['store']);
}

그리고 wala, 이제 사용할 준비가 된 conation list배열String