我正在 AppBar() 小部件中創建一個 PopupMenuButton。動態地檢索 List 中的元素以制作 PopupMenuButton。
final List<String> entries = <String>['Choose a category','Verbs','Nouns','Adjectives','Adverbs','Determiners','Prepositions','Pronouns','Conjunctions','Expressions','Sentences' ];
PopupMenuButton(
itemBuilder: (context) => [
PopupMenuItem(
value: 1,
child: Text(entries[1]),
),
PopupMenuItem(
value: 2,
child: Text(entries[2]),
),
PopupMenuItem(
value: 3,
child: Text(entries[3]),
),
PopupMenuItem(
value: 4,
child: Text(entries[4]),
),
PopupMenuItem(
value: 5,
child: Text(entries[5]),
),
PopupMenuItem(
value: 6,
child: Text(entries[6]),
),
PopupMenuItem(
value: 7,
child: Text(entries[7]),
),
PopupMenuItem(
value: 8,
child: Text(entries[8]),
),
PopupMenuItem(
value: 9,
child: Text(entries[9]),
),
PopupMenuItem(
value: 10,
child: Text(entries[10]),
),
],
onSelected: (value) {
if (value > 0) {
Navigator.pushNamed(
context,
"/home",
arguments: {
'wordType': entries[value],
'page': "no_home",
},
);
}
},
),
我期待這樣的事情。
PopupMenuButton(
itemBuilder: (context, index) => [
PopupMenuItem(
value: index,
child: Text(entries[index]),
),
onSelected: (value) {
if (value > 0) {
Navigator.pushNamed(
context,
"/home",
arguments: {
'wordType': entries[value],
'page': "no_home",
},
],
),
我見過一些解決方案,其中需要創建一個外部方法,甚至是一個類。有內置的解決方案嗎?
謝謝你。
uj5u.com熱心網友回復:
你可以做這樣的事情
PopupMenuButton(
itemBuilder: (context) => List.generate(
entries.length,
(index) => PopupMenuItem(
value: index,
child: Text(
entries[index],
),
),
),
),
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/524829.html
標籤:扑镖弹出菜单按钮
