假设我有一个枚举:
enum XYZ { addition, updation, remove}
我有一个使用
fromJson
方法得到的结果字符串,该方法返回添加、更新或删除
如何编写一个函数,以便将这些值转换为枚举值。像
XYZ.json['result']
这样的东西应该返回给我 XYZ.addition
或 XYZ.updation
等等
任何帮助将不胜感激。
你可以这样做
String yourString = 'addition';
XYZ? result = XYZ.values.firstWhereOrNull((e) => e.name == yourString);
请注意,如果字符串与其中任何一个都不匹配,则
result
可以是 null
。例如,您可以编写此代码以回退到 XYZ.addition
XYZ result = XYZ.values.firstWhereOrNull((e) => e.name == yourString) ?? XYZ.addition;
firstWhereOrNull
是 collection
包的一部分,因此您需要添加它并导入它,如下所示:
import 'package:collection/collection.dart';