DropDown Menu not working

1,965 views
Skip to first unread message

Mark Valeriani

unread,
Mar 24, 2021, 12:17:11 PM3/24/21
to Flutter Development (flutter-dev)
I am trying to make a form and have a dropdown menu in it but it seems to not be working. For reference: 
    myGroups - passed into the widget as an object of Groups
    groupSelected - an object Groups

 DropdownButtonFormField<Groups>(
                items: myGroups
                    .map((label) => DropdownMenuItem(
                          child: Text(label.groupName),
                          value: label,
                        ))
                    .toList(),
                hint: Text('Group'),
                value: groupSelected,
                onChanged: (value) {
                  setState(() {
                    groupSelected = value;
                  });
                },
              ),



I keep getting an error saying 

The following assertion was thrown building Builder(dirty, dependencies: [_FocusMarker]):
There should be exactly one item with [DropdownButton]'s value: Instance of 'Groups'.
Either zero or 2 or more [DropdownMenuItem]s were detected with the same value
'package:flutter/src/material/dropdown.dart':
Failed assertion: line 855 pos 15: 'items == null || items.isEmpty || value == null ||
              items.where((DropdownMenuItem<T> item) {
                return item.value == value;
              }).length == 1'

Suzuki Tomohiro

unread,
Mar 24, 2021, 12:19:40 PM3/24/21
to Mark Valeriani, Flutter Development (flutter-dev)
> There should be exactly one item with [DropdownButton]'s value

What are the values in your "myGroups" variable? Are there any duplicates?

--
You received this message because you are subscribed to the Google Groups "Flutter Development (flutter-dev)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to flutter-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/flutter-dev/7a153923-3790-4449-9797-04f1a750f055n%40googlegroups.com.

Mark Valeriani

unread,
Mar 24, 2021, 12:29:05 PM3/24/21
to Flutter Development (flutter-dev)
Nope just one value to test the functioning. Just a group, no duplicates.

Suzuki Tomohiro

unread,
Mar 24, 2021, 12:37:15 PM3/24/21
to Flutter Development (flutter-dev)
Good. That’s simple. Can you add a breakpoint and see why the assertion fails?

Failed assertion: line 855 pos 15: 'items == null || items.isEmpty || value == null ||
              items.where((DropdownMenuItem<T> item) {
                return item.value == value;
              }).length == 1'

Mark Valeriani

unread,
Mar 24, 2021, 12:46:34 PM3/24/21
to Flutter Development (flutter-dev)
I tried putting a breakpoint and didn't get anything back. To be honest not super familiar with debugging using your IDE  

Suzuki Tomohiro

unread,
Mar 24, 2021, 2:31:05 PM3/24/21
to Mark Valeriani, Flutter Development (flutter-dev)
Learn this video
Android Studio also works in a similar manner.

Reply all
Reply to author
Forward
0 new messages