Mac*_*ner 5 python list-comprehension list dart
MyWidget(categoryName, color)我想从以下两个列表创建一个小部件列表。
static const _categoryNames = <String>[
'Length',
'Area',
'Volume',
];
static const _baseColors = <Color>[
Colors.teal,
Colors.orange,
Colors.pinkAccent,
];
Run Code Online (Sandbox Code Playgroud)
在 Python 中,我将使用 zip 的列表理解来获取结果。
my_widget_list = [MyWidget(categoryName, baseColor) for categoryName, baseColor in zip(_categoryNames, _baseColors)]
Run Code Online (Sandbox Code Playgroud)
谷歌搜索 Dart 的类似方法没有提供任何令人满意的解决方案。
如果您的目标是创建一个小部件列表(假设您的两个列表将具有相同数量的元素)。你可以试试
List<Widget> getWidgets() {
List<Widget> my_widget_list = [];
const _categoryNames = <String>[
'Length',
'Area',
'Volume',
];
const _baseColors = <Color>[
Colors.teal,
Colors.orange,
Colors.pinkAccent,
];
for (int i = 0; i <= _categoryNames.length -1 ; i++){
my_widget_list.add(MyWidget(_categoryNames[i],_baseColors[i]));
}
return my_widget_list;
}
Widget MyWidget(String categoryName, Color baseColor){
return Container(
color: baseColor,
child: Text(categoryName,));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1503 次 |
| 最近记录: |