Здравствуйте, я использовал https://pub.dev/packages/searchable_dropdown этот пакет для создания dropdwon списка города страны - PullRequest
0 голосов
/ 22 апреля 2020

и я столкнулся с очень странной проблемой, и я не понимаю ошибки, сначала я выбираю базу страны в этой провинции, а затем город в провинции, она работает, но через некоторое время эта ошибка появляется через некоторое время, когда я выбираю штат

RangeError (index): недопустимое значение: не в диапазоне 0..1 включительно: 2 Соответствующим видящим ошибку виджетом был SearchableDropdown

https://drive.google.com/file/d/1swNSSCfpD142b0fih5s-OZTb90NoxBgX/view

    //get CITIES
    final String urlcity= "http://10.0.2.2/fff/api/city/";
     List<City> ceties;
    List<DropdownMenuItem<City>> cetiesDropdownItems=[];
    City selectedCity;
      Future<String> getcityData(id) async {
        var res = await http .get(Uri.encodeFull(urlcity+id.toString()), headers: {"Accept": "application/json"});
        if(res.statusCode==200){
        var resBody = (res.body);
        setState(() {
         final String cetiesJson = resBody;
        ceties=(jsonDecode(cetiesJson) as List<dynamic>).map<City>((d) => City(d['name'],d['id'])).toList();
        cetiesDropdownItems = ceties.map<DropdownMenuItem<City>>((d) => DropdownMenuItem(child:Text(d.name),value:d,)).toList();
        });
        }

        return 'sucess';
     }


//my city dropdown
  SearchableDropdown.single(
        items: cetiesDropdownItems,
        value: selectedCity,
        hint: "Select one City",
        searchHint: "Select one City",
        onChanged: (value) {
          setState(() {
            selectedCity = value;
          });
        },
        isExpanded: true,
      ),

обратите внимание, что я вызываю городскую функцию внутри провинции

  onChanged: (value) {
          setState(() {
            selectedProvince = value;
            getcityData(value.id);
          });
        },
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...