1. Сделайте переменную var _selected = null
, это выбранный вариант в раскрывающемся меню.
2. Установите значение DropDownButton
в _selected
.
value: _selected,
3. Предположим, у нас есть функция с именем sendToAPI
, измените onChanged
в DropDownButton
на это:
onChanged: (value) {
setState(() {
_selected = value;
});
sendToAPI(value); // or sendToAPI(dropDownItemsdata.indexOf(value));
},
Как показано в комментарии, вы можете использовать sendToAPI(dropDownItemsdata.indexOf(value))
для отправки индекса выбранной опции в API.
Полный код:
var _selected = null;
DropdownButton<String> androidDropdown() {
List<DropdownMenuItem<String>> dropdownItems = [];
final List<String> dropDownItemsdata = [
'inprogress',
'packing',
'sent'
];
for (String currency in dropDownItemsdata) {
dropdownItems.add(
DropdownMenuItem(
child: Text(currency),
value: currency,
),
);
}
return DropdownButton<String>(
items: dropdownItems,
value: _selected,
hint: Text(
'change status',
style: TextStyle(color: Colors.black, fontFamily: font),
),
onChanged: (value) {
setState(() {
_selected = value;
});
sendToAPI(value); // or sendToAPI(dropDownItemsdata.indexOf(value));
},
);
}