如何从Firebase删除特定数据

时间:2019-04-23 15:33:43

标签: firebase firebase-realtime-database dart flutter

我正在尝试实现从服务器删除特定数据(基于ID)的功能。

我的功能如下:

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 / flutter(5517):GE手势引起的异常   ╞═════════════════════════════════════════════════ ══════════════════   I / flutter(5517):处理时引发了以下RangeError   手势:I /颤振(5517):RangeError(索引):无效值:有效   值范围为空:0

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法-

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中使用它,然后再使用此var