我只想映射到api,并在选中项时创建以下DropdownButton,即将数据发布到API
DropdownButton(
value: 'Item 1',
icon: const Icon(Icons.keyboard_arrow_down),
items: [
'Item 1',
'Item 2',
'Item 3',
'Item 4',
'Item 5',
].map((String items) {
return DropdownMenuItem(
value: items,
child: Text(items),
);
}).toList(),
onChanged: print),如何映射到api端点并将所选项发布到api?
发布于 2022-06-11 21:45:14
作为带有整数而不是字符串的post请求:
Future<void> onChangedCallback(int? item) async {
if(item != null){
currentValue = item;
final url = "your_url_here";
final body = {
"key_you_want_to_map": item
};
final response = await http.post(Uri.parse(url), body: body);
print(response.body);
}
}
...
var currentValue = 1;
DropdownButton(
value: currentValue,
icon: const Icon(Icons.keyboard_arrow_down),
items: <int>[
1,
2,
3,
4,
5,
].map((int i) {
return DropdownMenuItem(
value: i,
child: Text('Item $i'),
);
}).toList(),
onChanged: onChangedCallback,
), // Equivalent of onChanged: (v) async => onChangedCallback(v), https://stackoverflow.com/questions/72587938
复制相似问题