node_controller.dart 1008 B

1234567891011121314151617181920212223242526272829
  1. import 'package:get/get.dart';
  2. class NodeController extends GetxController {
  3. // 游戏tab列表
  4. final _tabTextList = <String>['All', 'Streaming'].obs;
  5. List<String> get tabTextList => _tabTextList;
  6. set tabTextList(List<String> value) => _tabTextList.assignAll(value);
  7. // 当前选中的 Tab 索引
  8. final _currentTabIndex = 0.obs;
  9. int get currentTabIndex => _currentTabIndex.value;
  10. set currentTabIndex(int value) => _currentTabIndex.value = value;
  11. // 保存每个 tab 中每个国家的展开/收缩状态
  12. // key 格式: "tabIndex_countryCode"
  13. final Map<String, bool> expandedStates = {};
  14. /// 获取国家的展开状态
  15. bool getExpandedState(int tabIndex, String countryCode) {
  16. final key = '${tabIndex}_$countryCode';
  17. return expandedStates[key] ?? false; // 默认收缩
  18. }
  19. /// 设置国家的展开状态
  20. void setExpandedState(int tabIndex, String countryCode, bool expanded) {
  21. final key = '${tabIndex}_$countryCode';
  22. expandedStates[key] = expanded;
  23. }
  24. }