我正在尝试向我的 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(),
),
当我运行此代码时,我收到此错误(抱歉,但它不允许我复制文本):
为什么我会收到此错误?
感谢您的帮助。
从给定的代码来看,除了
_trxnStatus
状态变量之外,一切看起来都很正常。
异常几乎直接说明了,您必须需要一个与
DropdownMenuItem
的值完全匹配的 _trxnStatus
。由于您正在使用所有可能值的列表并将其映射到 DropdownMenuItem
,这是到达此崩溃站点的唯一可能方法,因此您在开始时将 _trxnStatus
初始化为不同的值。
尝试将
_trxnStatus
定义为可为空,并首先将其保留为空。
String? _trxnStatus;
或者将初始值设置为列表内的值。
String? _trxnStatus = "Select Status";
希望这有帮助。