Все!
Я хочу удалить задачу с помощью виджета «Отклонить».
Я пытаюсь выполнить следующее
onDismissed: (direction) {
DatabaseHelper.instance.deleteTask(task.id);
_updateTaskList();
},
, и это работает, но анимация выглядит неправильно как будто уволенный ребенок появляется на секунду, а затем исчезает.
Я думаю, что происходит то, что deleteTask
имеет задержку, а _updateTaskList
работает почти одновременно.
это мои методы:
Future<int> deleteTask(int id) async {
Database db = await this.db;
final int result = await db.delete(
tasksTable,
where: '$colId = ?',
whereArgs: [id],
);
return result;
}
}
_updateTaskList() {
setState(() {
_taskList = DatabaseHelper.instance.getTaskList();
});
}
Future<List<Task>> getTaskList() async {
final List<Map<String, dynamic>> taskMapList = await getTaskMapList();
final List<Task> taskList = [];
taskMapList.forEach((taskMap) {
taskList.add(Task.fromMap(taskMap));
});
return taskList;
}