我有一张这样的地图:
static const Map<String, Map<String, String>> social = {
'personA': {
'twitch': 'https://www.twitch.tv/...',
'instagram': 'https://www.instagram.com/.../'
},
'personB': {
'twitch': 'https://www.twitch.tv/...',
'instagram': 'https://www.instagram.com/.../'
},
'personC': {
'facebook': 'https://www.facebook.com/...',
},
};
可以为与每个人相关的每个社交显示带有 font_awesome 图标的 iconButton,并在单击时重定向到链接?,如何?
我试过这样:
Row(
children: <Widget>[
ListView.builder(
itemBuilder: (_) {
return Constants.social[person].keys.map((e) =>
IconButton(icon: FaIcon(FontAwesomeIcons.e), onPressed: {
print("example");
});
);
}
)
],
),
但我收到错误:
The argument type 'Widget Function(BuildContext)' can't be assigned to the parameter type 'Widget Function(BuildContext, int)'
变量 person 可以包含 personA、personB 或 personC。
例如,对于 personA,我想显示 2 个 iconButton,一个用于 twitch,一个用于 instagram,但对于 personC,我只想显示 facebook 图标。