dev/flutter
[Flutter] Dropdown #Spinner
donguran
2024. 3. 29. 18:03
728x90
반응형
StupidHead에 들어가는 코드를 기록해둔다.
DropdownButton을 사용하였었고, 특징은 대표 'value'를 설정해주어야 한다.
그리고 각각의 DropdownMenuItem에 클릭했을 경우의 입력할 'value'를 설정해주어야 한다.
그럼, onChange에서 value값을 받아와서 이후 동작을 수행할 수 있다.
DropdownButton(
value: context.select((SettingProvider value) => value.tabIndex),
items: const [
DropdownMenuItem(value:0 ,child: Text("WiFi")),
DropdownMenuItem(value:1, child: Text("ID/PW")),
DropdownMenuItem(value:2, child: Text("Toilet")),
DropdownMenuItem(value:3, child: Text("Memo")),
],
onChanged: (int? value) async {
debugPrint("DropdownButton.. value:$value");
context.read<SettingProvider>().tabIndex = value ?? 0;
)
DropdownMenu 적용
FittedBox(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: DropdownMenu<int>(
width: 150.0,
textStyle: const TextStyle(fontSize: 24.0),
initialSelection: context.select((SettingProvider value) => value.tabIndex),
dropdownMenuEntries: const <DropdownMenuEntry<int>>[
DropdownMenuEntry<int>(value: 0, label: "WiFi"),
DropdownMenuEntry<int>(value: 1, label: "ID/PW"),
DropdownMenuEntry<int>(value: 2, label: "Toilet"),
DropdownMenuEntry<int>(value: 3, label: "Memo"),
],
onSelected: (int? value) async {
debugPrint("DropdownButton.. value:$value");
context.read<SettingProvider>().tabIndex = value ?? 0;
},
),
),
)
728x90
반응형