带有静态列表的下拉按钮出现错误

问题描述 投票:0回答:1

我正在尝试向我的 flutter 应用程序添加一个下拉按钮。下拉菜单将有一个静态项目列表。

这是我尝试使用的代码:

DropdownButton<String>(
                  hint: const Text('Please choose transaction status'),
                  value: _trxnStatus,
                  onChanged: (_value) {
                    setState(() {
                      _trxnStatus = _value;
                    });
                  },
                  items: <String>[
                    'Select Status',
                    'Prospect',
                    'Listed',
                    'Under Contract',
                    'On Hold',
                    'Closed',
                    'Archived'
                  ].map<DropdownMenuItem<String>>((String _value) {
                    return DropdownMenuItem<String>(
                      value: _value,
                      child: Text(_value),
                    );
                  }).toList(),
                ),

当我运行此代码时,我收到此错误(抱歉,但它不允许我复制文本): error message

为什么我会收到此错误?

感谢您的帮助。

flutter dart
1个回答
0
投票

从给定的代码来看,除了

_trxnStatus
状态变量之外,一切看起来都很正常。

异常几乎直接说明了,您必须需要一个与

DropdownMenuItem
的值完全匹配的
_trxnStatus
。由于您正在使用所有可能值的列表并将其映射到
DropdownMenuItem
,这是到达此崩溃站点的唯一可能方法,因此您在开始时将
_trxnStatus
初始化为不同的值。

尝试将

_trxnStatus
定义为可为空,并首先将其保留为空。

String? _trxnStatus;

或者将初始值设置为列表内的值。

String? _trxnStatus = "Select Status";

希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.