前言
上一篇我们利用 Provider 对动态列表进行了改造,改造后的代码相比之前简洁了很多,代码逻辑也更清晰。本篇继续,我们来看如何完成删除功能和详情页。
删除动态
删除这个操作比较简单,我们只需要实现之前预留的删除动态方法 removeWithId
即可。这个方法首先向后端请求删除接口,删除成功后将元素从列表数据_dynamics
移除即可。
void removeWithId(String id) async {
var response = await DynamicService.delete(id);
if (response?.statusCode == 200) {
_dynamics.removeWhere((element) => element.id == id);
notifyListeners();
} else {
EasyLoading.showError(response?.statusMessage ?? '删除失败');
}
}
这里我们用到了Dart 数组的 removeWhere
方法来删除 id
匹配的元素。捎带讲一下 Dart 的数组操作,Dart提供了丰富的数组操作方法,方法定义在<