方法map()不适用于Map中的List

问题描述 投票:0回答:1

我得到了这样的地图:

Map userInfo={
     'name':'jack',
     'age':30,
     'interests':[
       {'name':'swimming','level':1},{'name':'running','level':2},
     ]
    }

现在我想使用方法map()将兴趣转换为Widgets列表,如果我使用下面的userInfo ['interest'],它将无法工作:

userInfo['interests'].map((item){return new Text(item['name'])}).toList() //not work

但是,如果首先在变量中保存userInfo ['interest'],它的工作原理如下:

List tmpVariable=userInfo['inetrests'];
tmpVariable.map((item){return new Text(item['name'])}).toList()  //this works

所以问题是,如果我得到一个像上面这样的结构,我可以直接映射吗?或者最好的方法是什么?我认为使用变量并不是那么好。 :)

flutter flutter-layout
1个回答
1
投票

试试这个:

(userInfo['interests'] as List).map((item){return new Text(item['name'])}).toList() 
© www.soinside.com 2019 - 2024. All rights reserved.