Как удалить конкретные данные из Firebase - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь реализовать функцию, которая удаляет определенные данные (на основе идентификатора) с сервера.

Моя функция выглядит так:

Future<bool> deleteData(int index) {
    _data.removeAt(index);
    notifyListeners();

    return http
        .delete(
            'https://*my address*/${_data[index].id}.json')
        .then((http.Response response) {
      return true;
    }).catchError((error) {
      print(error);
      return false;
    });
  }

Данные удаляются локально, но не удаляются на сервере. Вместо этого я получаю эту ошибку:

I / флаттер (5517): ИСКЛЮЧЕНИЕ, ЗАПРЕЩЕННОЕ ЖЕСТОМ ╞═════════════════════════════════════════════════ ══════════════════ I / flutter (5517): следующая ошибка RangeError при обработке жест: I / flutter (5517): RangeError (index): недопустимое значение: действительный диапазон значений пуст: 0

1 Ответ

0 голосов
/ 25 апреля 2019

Я нашел решение своей проблемы -

Future<bool> deleteData(int index) {
      selectedDataId = _data[index].id  //new line
    _data.removeAt(index);
    notifyListeners();

    return http
        .delete(
            'https://*my address*/${selectedDataId}.json')
        .then((http.Response response) {
      return true;
    }).catchError((error) {
      print(error);
      return false;
    });
  }

Поскольку я удалил свои данные локально, мне нужно было предварительно обработать их в var, а затем использовать эту переменную

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...