flutter 应该只有一个项目具有Dropdownbutton的值

6rqinv9w  于 2023-01-18  发布在  Flutter
关注(0)|答案(2)|浏览(236)

我非常begginer在扑动,我试图把4下拉按钮,当我改变第二个我得到错误的值:
应该只有一个项目具有[DropdownButton]的值:美元。检测到零个、2个或更多个[DropdownMenuItem]具有相同的值"package:dropdown_button2/dropdown_button2.dart":package:下拉按钮2/下拉按钮2.dart:1Assert失败:第1128行位置11:'项目==空||items.isEmpty||值==空||项目. where((下拉菜单项目){返回项目.值==值;}).长度== 1 '
这是第一个工作:

String lang = 'English';
 var items = [
   'English',
   'Polish',
 ];
DropdownButtonHideUnderline(
             child: DropdownButton2(
               items: items
                   .map(
                     (item) => DropdownMenuItem<String>(
                       value: item,
                       child: Text(
                         item,
                         style: const TextStyle(
                           fontSize: 14,
                         ),
                       ),
                     ),
                   )
                   .toList(),
               value: lang,
               onChanged: (String? newValue) {
                 setState(() {
                   lang = newValue!;
                 });
               },
               
             ),
           ),

第二个不是

String currency = 'Dollars';
  var curriencies = [
    'Dollar',
    'Euro',
    'PLN',
    'Funts',
  ];
DropdownButtonHideUnderline(
                    child: DropdownButtonFormField2(
                      items: curriencies
                          .map(
                            (currency) => DropdownMenuItem<String>(
                              value: currency,
                              child: Text(
                                currency,
                                style: const TextStyle(
                                  fontSize: 14,
                                ),
                              ),
                            ),
                          )
                          .toList(),
                      value: currency,
                      onChanged: (String? newValue) {
                        setState(() {
                          currency = newValue!;
                        });
                      },

我更改了值,但它仍然相同

vcudknz3

vcudknz31#

错误提示为Either zero or 2 or more [DropdownMenuItem]s were detected with the same value。货币变量的值为美元,而货币列表中没有美元,因此它给出了空值错误。将货币值从美元更改为美元:-

String currency = 'Dollar';
ibps3vxo

ibps3vxo2#

您得到该错误是因为,在Flutter下拉菜单中,当前值必须是当前下拉选项列表中的第一个值。
因此,下拉列表中的第一个值应该是“美元”,您的可变货币也应该是“美元”。

相关问题