我正在尝试实现从服务器删除特定数据(基于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
答案 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