我想知道你是否在 Flutter 中使用 DropDownMenu 有可能獲得不同的值。
例如:你有專案 ['item1','item2','item3','item4','item5'] 然后你對這些專案使用 DropDownButton。但是對于每一個專案都應該傳遞一個不同的值,以便我以后可以使用它。
所以 item1 = 90, item2 = 180, item3 = 270 等等。如果 item1 被選中,它應該像這樣顯示給用戶,并且應用程式獲得值 90,例如它可以在以后使用。
我希望你明白我的意思,可以幫助我一點點。
uj5u.com熱心網友回復:
您可以創建一個地圖并將其用作 的關鍵DropDownMenu,同時顯示用于key顯示價值之類的
String? dropdownValue;
Map<String, int> dataset = {
"item1": 90,
"item2": 180,
"item3": 270,
};
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
children: [
DropdownButtonHideUnderline(
child: DropdownButton<String>(
value: dropdownValue,
focusColor: Colors.white,
items: dataset.keys.map((String value) {
return DropdownMenuItem(
value: value,
child: Text(value),
);
}).toList(),
onChanged: (v) {
setState(() {
dropdownValue = v;
});
},
),
),
Text(
dropdownValue == null
? "Select Item "
: dataset[dropdownValue!].toString(),
),
uj5u.com熱心網友回復:
有很多方法可以做到這一點。
1-通過鍵值對。
獲取您的樣品,例如:
items[{'name':'item1','value':'90'},{'name':'item2','value':'180'},{'name':'item3','value':'270'},{'name':'item4','value':'360'}];
(大概他們是 360 度的天使 :-))
然后你可以像這樣指向每個專案:items[i]['name']或者items[j]['value']等等......
2-不是首選方式:兩個不同的串列,如下所示:
itemNames[items1,item2,item3, item4];
itemValues [90,180,270,360];
然后,您可以將 itemNames 串列傳遞給您的 dropdownMenu,只要選擇了一個專案,您就可以找到它的索引并指向 itemsValues 的相應行。例如:選擇了 dropdownMenu item3,因此回傳的索引應為 2(索引從 0 開始),因此您可以像這樣找到所需的值:desiredValue = itemsValue[2];(270)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/405854.html
標籤:
