如何在Flutter中将可拒绝的小部件与提供程序状态管理一起使用

时间:2019-10-17 03:26:07

标签: flutter dart provider

我正在尝试添加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.
      },

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

1 个答案:

答案 0 :(得分:1)

您需要执行功能。

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