【发布时间】:2020-09-11 15:41:27
【问题描述】:
我可能遗漏了一些明显的东西,但是我在将变量传递给颤振/飞镖中的参数或小部件时遇到了麻烦。例如,假设我有一些变量:
String col = 'red';
我想将它传递给一个颜色参数以获得相当于
color: Colors.red
困难的是,我尝试传递值的任何方式最终都会传递一个字符串(这是不被接受的),包括尝试直接传递 col 的值或尝试构建一个返回 @ 的函数987654324@。
我认为我需要的是类似函数的东西
setColor(String str) {
return Colors.str;
}
但是,正如您所料,这会返回“没有为类型 'Colors' 定义 getter 'str'。” (同样适用于:
setColor(String str) {
return Colors.$str;
}
我知道一个选择是使用一堆 if 来创建一个函数,比如
setColor(String str) {
if (str==red) return Colors.red;
if (str==blue) return Colors.blue;
if (str==green) return Colors.green;
etc.
}
但如果有的话,我更喜欢更优雅的选择。
编辑:看起来这并不像我希望的那么简单(请参阅下面的答案和答案)。
【问题讨论】: