如何根据字符串选择图标

时间:2019-11-22 10:10:42

标签: flutter dart

我收到了很多字符串,名字是图标的。如果我尝试使用名称字符串创建和图标

Icon(
   Icons._transactionType
)

我得到了'未为类'Icons'定义getter _transactionType。

这是我到目前为止的所有想法,而且图标和图标的混乱文档也无济于事。

到目前为止,我已经将图标硬编码了,但是由于我现在将它们存储在.json中,因此我只能将它们保存在字符串中,并且我想避免一种遍历所有图标并选择所需图标的方法。

您在这里看到它现在正在运行,我想用“ Icons._transactionType”代替“ Icons.train”来获取图标

1 个答案:

答案 0 :(得分:1)

一种方法是创建地图

Map<String, IconData> iconMapping = {
 'train' : Icons.train,
 'airplane' : Icons.airplanemode_active,
 ...
};

在使用时,使用Icon(Icons._transactionType)代替Icon(iconMapping[_transactionType])