我有一个这样的地图:
Map userInfo={
'name':'jack',
'age':30,
'interests':[
{'name':'swimming','level':1},{'name':'running','level':2},
]
}
现在我想使用方法map()将兴趣转换为小部件列表,如果我在下面使用userInfo ['interests'],它将无法正常工作
userInfo['interests'].map((item){return new Text(item['name'])}).toList() //not work
但是,如果首先将userInfo ['interests']保存在变量中,它将起作用:
List tmpVariable=userInfo['inetrests'];
tmpVariable.map((item){return new Text(item['name'])}).toList() //this works
所以问题是,如果我具有上述结构,是否可以直接映射它?或最好的解决方法是什么?我认为使用变量不是很好。 :)
答案 0 :(得分:1)
尝试一下:
(userInfo['interests'] as List).map((item){return new Text(item['name'])}).toList()