如果我说 SimpleDialog()
它接受 children[]
我想从 Map<int, String>
填充它,我该怎么做?我需要键和值来创建子小部件。
const optionsMap = {
111:"First option",
222:"Second option",
}
return SimpleDialog(
title: Text('Choose one'),
children: // I don't know what to put here
// I want to have widgets based on optionsMap keys and values
)
我通过创建 List<Widget>
解决了这个问题事先在 return 语句上方,但只是为了方便(并且在 Dart 中变得更好),我想知道是否有一种方法可以内联。
最佳答案
更新答案以合并 @lrn 的评论
你可以使用map
const optionsMap = {
111:"First option",
222:"Second option",
}
return SimpleDialog(
title: Text('Choose one'),
children: optionsMap.entries.map((entry) {
var w = Text(entry.value);
doSomething(entry.key);
return w;
}).toList());
;
https://stackoverflow.com/questions/55039861/
相关文章:
google-maps - 自定义 Flutter Google Map 中的中心位置按钮
dart - StreamBuilder 抛出 Dirty State 说 Invalid Argu
architecture - flutter BLoC : Is using nested Stre
android - 在 Flutter 的垂直列表中添加动态高度水平 ListView
flutter - 了解 Flutter didChangeDependencies 机制
dart - 如何根据背景图像更改文本颜色 - Flutter
dart - 如何在 Flutter/Dart 中将参数从命令行传递到 main?