Flutter之枚举Enum的一种用法 2024-12-07 周

2024-12-06  本文已影响0人  勇往直前888

简介

Dart的枚举比Swift的要差一点,不过比OC的要好用一点。
一般枚举除了一个int值用于和后端接口沟通之外,常常还需要一个String类型的label用来显示。把这两个结合在一起,复用程度较高

例子

比如最经典的性别,可以设计如下枚举类型

/// 性别, 0-男 1-女
enum GenderType {
  man(value: 0, label:"男"),
  woman(value: 1,label:"女");

  const GenderType({required this.value, required this.label});
  final int value;
  final String label;

  static GenderType parse(int? value) {
    /// 解析从后台传来的值
    if (value == 1) {
      return GenderType.woman;
    }

    return GenderType.man;
  }
}

使用的例子

GenderType gender = GenderType.parse(value);
      actions: [
        AlertDialogAction<int>(
            label: GenderType.man.label, key: GenderType.man.value),
        AlertDialogAction<int>(
            label: GenderType.woman.label, key: GenderType.woman.value),
      ],
上一篇 下一篇

猜你喜欢

热点阅读