Div*_*wal 6 enums model dart flutter
假设我有一个枚举:
enum XYZ { addition, updation, remove}
Run Code Online (Sandbox Code Playgroud)
我有一个使用fromJson
返回添加、更新或删除的方法得到的结果字符串
如何编写一个函数以便将这些值转换为枚举值。诸如此类的东西应该XYZ.json['result']
返回给我XYZ.addition
等等XYZ.updation
任何帮助将非常感激。
Ivo*_*ers 11
你可以这样做
String yourString = 'addition';
XYZ? result = XYZ.values.firstWhereOrNull((e) => e.name == yourString);
Run Code Online (Sandbox Code Playgroud)
请注意,如果字符串与其中任何一个都不匹配,则result
可能会出现这种情况。null
你可以写这个来回退到XYZ.addition
例如
XYZ result = XYZ.values.firstWhereOrNull((e) => e.name == yourString) ?? XYZ.addition;
Run Code Online (Sandbox Code Playgroud)
firstWhereOrNull
是包的一部分collection
,因此您需要添加它并导入它,如下所示:
import 'package:collection/collection.dart';
Run Code Online (Sandbox Code Playgroud)