如何在 flutter 中使用具有提供者状态管理的可关闭小部件

How to use dismissible widget with provider state management in flutter

我正在尝试添加 dismissible widget 以从 list of items 中删除项目。我正在使用 provider 进行状态管理。删除项目我在 changeNotifier 文件中做了类似的事情。

task_data.dart

void deleteTask(Task task) {
    _tasks.remove(task);
    notifyListeners();
  }

task_list_view.dart

这里我将 deleteTask 传递给我的 Task_tile.dart

child: new TaskListTile(
                  taskTitle: taskData.tasks[index].name,
                  isChecked: taskData.tasks[index].isDone,

                  checkboxCallback: (checkboxState) {
                    taskData.updateTask(taskData.tasks[index]);
                  },
                  deleteCallback: (){
                    taskData.deleteTask(taskData.tasks[index]);
                  },
                ),

list_tile_view.dart

这里我添加了可关闭的小部件来执行我的 deleteCallback。

final Function deleteCallback;

  @override
  Widget build(BuildContext context) {
    return Dismissible(
      key: Key(taskTitle),
      onDismissed: (direction) {
        deleteCallback;  <-- Here i get error by idle saying avoid unecessary statement.
      },

我不知道为什么会这样。任何帮助都会很棒。

您需要执行您的功能。

@override
Widget build(BuildContext context) {
  return Dismissible(
    key: Key(taskTitle),
    onDismissed: (direction) {
      deleteCallback();
    },
  );
}