【发布时间】:2020-12-01 21:53:54
【问题描述】:
如何在 DropdownMenuItem 中设置默认选择?
由于我对 Flutter 还不熟悉,所以我无法将这里许多已回答问题的代码实现到我的代码中。
在此代码中有三个选项可供选择,印度尼西亚语、英语和俄语。我想让下拉菜单在页面显示时默认选择选项。
import 'package:flutter/material.dart';
class EnamPage extends StatefulWidget {
@override
_EnamPageState createState() => _EnamPageState();
}
class _EnamPageState extends State<EnamPage> {
Person selectedPerson;
List<Person> persons = [Person("Indonesian"), Person("English"), Person("Russian")];
List<DropdownMenuItem> generateItems(List<Person> persons) {
List<DropdownMenuItem> items = [];
for (var item in persons) {
items.add(DropdownMenuItem(
child: Text(item.name),
value: item,
));
}
return items;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: <Widget>[
Container(
margin: EdgeInsets.all(20),
child: DropdownButton(
isExpanded: true,
value: selectedPerson,
items: generateItems(persons),
onChanged: (item) {
setState(() {
selectedPerson = item;
});
})),
Text((selectedPerson != null)
? selectedPerson.name
: "Silakan Pilih")
],
),
);
}
}
class Person {
String name;
Person(this.name);
}
【问题讨论】: