Невозможно установить начальное значение при дрожании кнопки раскрывающегося списка

Я не могу установить начальное значение в пункте меню кнопки dorp down. Я использую api для установки элементов в раскрывающейся кнопке. Используя другой api для получения предыдущего выбранного элемента из раскрывающейся кнопки.

              dropdownActivityType=snapshot.data[index].activityDto.activityType.toString();
        if(dropdownActivityType == "0"){
          isCall = true;
          activityname="Call";
        }else if(dropdownActivityType == "1"){
          isCall = false;
          activityname="Task";
        }else if(dropdownActivityType == "2"){
          isCall = false;
          activityname="Event";
        }
                             DropdownButton(
                             isExpanded: true,
                             hint: Text("Activity Type"),

                             underline: Container(
                               height: 1.0,
                               decoration: const BoxDecoration(
                                   border: Border(bottom: BorderSide(color: Colors.transparent, width: 0.0))
                               ),
                             ),

                             value: dropdownActivityType,


                             items: activitytypedata.map((item){
                               return new DropdownMenuItem(
                                   child:Text(item['value']),
                                   value: item['key'].toString());
                             }).toList(),
                             onChanged: (newVal){
                               setState(() {
                                 dropdownActivityType=newVal;
                                 print(dropdownActivityType);
                               });

                             },

                           ),

1 ответ

Поскольку вы устанавливаете значение от до, вы должны указать начальное значение, когда dropdownActivityType инициализируется.

Итак, вот код:

      `dropdownActivityType = "initial value"`; // initialize with initial value.

Спасибо.

РЕДАКТИРОВАТЬ

Итак, проблема здесь НЕ в том, что вы не управляете своим APIзвонки. Поскольку вы вызываете несколько запросов для получения данных, вам следует подождать, пока ваш APIsзакончены и ЗАТЕМ визуализировать / показать свой Dropdown.

Другие вопросы по тегам