[我正在将来的构建器中运行Firebase查询并检索子级。
快照恢复正常,但我想将数据添加到列表中
我想执行以下操作:
litems.clear();
Map<dynamic, String> values = snapshot.data.value;
values.forEach((key, values) {
litems.add(values);
});
litems
是我的列表,我想在下拉列表中使用。
在我的下拉列表中,我有:
items: litems.map((String value) {
return new DropdownMenuItem<String>(
value: value,
child: new Text(value),
);
}).toList(),
我在第一部分中遇到的错误是无法将地图分配给列表
请帮助!
我不知道问题是什么,但是在列表声明中使用for循环会更干净,可能可以解决它:
item : [
for(var value in litems.values)
DropdownMenuItem<String>(
value: value,
child: Text(value),
);
]
您需要在pubspec.yaml中使用最小SDK版本为> = 2.6.0
似乎您试图将所有值添加为单个条目而不是特定值。
Map<dynamic, String> values = snapshot.data.value;
values.forEach((key, values) {
litems.add(values);
});
您可以尝试
Map<dynamic, String> values = snapshot.data.value;
values.forEach((value) {
litems.add(value);
});
或
values.forEach((key, values) {
litems.add(values[key]);
});