lang_sort_provider.dart 1.13 KB
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:one_poem/generated/json/base/json_convert_content.dart';
import 'package:one_poem/poem/models/lang_sort_entity.dart';

class LangSortProvider extends ChangeNotifier {
  int _index = 0;
  int get index => _index;
  List<LangSortEntity> _mLangSort = [];

  /// 当前列表数据
  List<LangSortEntity> _mList = [];
  List<LangSortEntity> get mList => _mList;

  /// 三级联动选择的position
  final List<int> _positions = [0];
  List<int> get positions => _positions;

  void setIndex(int index) {
    _index = index;
    notifyListeners();
  }

  void indexIncrement() {
    _index++;
  }

  void setList(int index) {
    switch (index) {
      case 0:
        _mList = _mLangSort;
        break;
    }
  }

  void initData() {
    if (_mList.isNotEmpty) {
      return;
    }
    rootBundle.loadString('assets/data/lang.json').then((String value) {
      _mLangSort =
          JsonConvert.fromJsonAsT<List<LangSortEntity>>(json.decode(value)) ??
              [];
      _mList = _mLangSort;
      notifyListeners();
    });
  }
}