我有一个名为 Category 的类,每个 Category 都有一个 Subcategory 对象列表。类别和子类别类都有标题字段。
所以...
我有一个类别对象的列表视图,单击一个导航到表单屏幕,用户在其中输入一些数据并保存一个 SavedItem 对象。他们需要完成的一个字段是从下拉按钮中选择子类别。如果他们点击类别 4,则选项为子类别 4、子类别 5 和子类别 6。
我通过
List<Subcategory> subCategories = providedCategory.subcategories.toList();
获得类别对象作为提供者参数和子类别
我如何从那里转到工作下拉列表?我是 Flutter 的新手,所以这让我头疼……下面抛出了一个我搜索过的错误,它说下拉选项不是唯一的,但对象子类别列表的内容每个都是唯一的。
There should be exactly one item with [DropdownButton]'s value: .
Either zero or 2 or more [DropdownMenuItem]s were detected with the same value
'package:flutter/src/material/dropdown.dart':
DropdownButton(
value: selectval,
onChanged: (value) {
setState(() {
selectval = value.toString();
});
},
items: subCategories.map((item) {
return DropdownMenuItem(
value: item, child: Text(item.title));
}).toList(),
),
如果你喜欢在下拉菜单上使用字符串数据类型,它将是
和
String? selectval;
DropdownButton<String?>(
value: selectval,
onChanged: (value) {
setState(() {
selectval = value;
});
},
items: subCategories.map((item) {
return DropdownMenuItem<String?>(
value: item.title, child: Text(item.title));
}).toList(),
),
或者您喜欢的物品,不要在物品盒上使用
.toString()
。