您可以通过两种方法消除某些代码重复。
- 通过取出开关并将其移入它自己的功能,因此您的构建方法不会重复。
切换语句
IconData getIconForName(String iconName) { switch(iconName) { case 'facebook': { return FontAwesomeIcons.facebook; } break; case 'twitter': { return FontAwesomeIcons.twitter; } break; default: { return FontAwesomeIcons.home; } } }构建功能
@overrideWidget build(BuildContext context) { return Icon(getIconForName(icon), color: HexColor(color));}或2. 创建地图
Map<String, IconData> iconMapping = { 'facebook' : FontAwesomeIcons.facebook, 'twitter' : FontAwesomeIcons.twitter, 'home' : FontAwesomeIcons.home};构建功能
@overrideWidget build(BuildContext context) { return Icon(iconMapping [icon], color: HexColor(color));}


