简体   繁体   English

如何在 flutter 中使用提供者 state 管理的可关闭小部件

[英]How to use dismissible widget with provider state management in flutter

I am trying to add dismissible widget to delete item from the list of items .我正在尝试添加可关闭的dismissible widget以从list of items I am using to provider for state management.我正在使用provider进行 state 管理。 to delete the item I have done something like this in changeNotifier file.删除我在changeNotifier文件中执行过类似操作的项目。

task_data.dart task_data.dart

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

task_list_view.dart task_list_view.dart

Here i am passing deleteTask to my Task_tile.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 list_tile_view.dart

Here I add dismissible widget to execute my deleteCallback.在这里,我添加了可关闭的小部件来执行我的 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.
      },

I have no idea why this is comming.我不知道为什么会这样。 Any help would be great.任何帮助都会很棒。

You need to execute your function.您需要执行您的 function。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM