问题描述
希望使用字符串“ album”来调用Icons.album,例如Icons [“ album”],但这是行不通的。我需要为每个图标做枚举还是其他方法?
List tasks = [{
"title": "task 1","description": "description 1","icon": "ring_volume",},{
"title": "task 2","description": "description 2","icon": "flag",{
"title": "task 3","description": "description 3","icon": "album",];
[...]
Widget taskCard(Map task) {
Text title = Text(task['title']);
return Center(
child: Card(
child: Column(
mainAxisSize: MainAxisSize.min,children: <Widget>[
ListTile(
leading: Icons(Icons.album),// HERE
title: new Text(task['title']),subtitle: new Text(task['description']),),],);
}
解决方法
您不能调用Icons["album"]
这样的图标,但是可以在这样的地图中存储IconData
List tasks = [{
"title": "task 1","description": "description 1","icon": Icons.ring_volume,},{
"title": "task 2","description": "description 2","icon": Icons.flag,{
"title": "task 3","description": "description 3","icon": Icons.album,];
然后在用户界面中将其命名为task['icon']
Widget taskCard(Map task) {
Text title = Text(task['title']);
return Center(
child: Card(
child: Column(
mainAxisSize: MainAxisSize.min,children: <Widget>[
ListTile(
leading: Icons(task['icon']),// HERE
title: new Text(task['title']),subtitle: new Text(task['description']),),],);
}
,
您应该使用此:
在字典中:
ShardIteratorType#LATEST
和小部件中的
"icon": Icons.album