tier property

int get tier

获取层级

Implementation

int get tier {
  // int count = 0;
  // runLoop(List<SpinnerItem> list, int floor) {
  //   for (var e in list) {
  //     if (floor > count) {
  //       count = floor;
  //     }
  //     if (e.items.isNotEmpty) {
  //       runLoop(e.items, floor + 1);
  //     } else {
  //       continue;
  //     }
  //   }
  // }

  int getLevel(List<SpinnerItemData> items) {
    if (items.isEmpty) return 0;
    int maxLevel = 0;
    for (var item in items) {
      int level = getLevel(item.items) + 1; // 递归查询子项
      maxLevel = max(maxLevel, level);
    }
    return maxLevel;
  }

  // runLoop(this, 1);
  return getLevel(this);
}