1

我有一个有两个屏幕的应用程序,主页和更新页面。主页显示项目列表,更新页面更新项目。

当我弹回主页时,我无法刷新主页以显示当前更新。

当我返回主页时如何刷新主页。

查看代码以导航到更新页面

// home page


       // build the list widget
          Widget _buildTaskWidget(task) {
            return ListTile(
                leading: Icon(Icons.assignment),
                title: Text(task['name']),
                subtitle: Text(task['created_at']),
                onTap: () async {
                  await Navigator.of(context).push(
                    MaterialPageRoute(
                      builder: (context) => UpdateTask(task: task),
                    ),
                  );
                  await fetchAllTask();
                });
          }

 @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: true,
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: FutureBuilder(
          future: fetchAllTask(),
          builder: (context, snapshot) {
            if (snapshot.hasData) {
              List tasks = snapshot.data;
              listItems = tasks;

              return _buildTaskList(tasks);
            } else if (snapshot.hasError) {
              return Text("${snapshot.error}");
            }
            return Center(
              child: ShowLoader(),
            );
          }),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.push(
              context, MaterialPageRoute(builder: (context) => AddTask()));
        },
        tooltip: 'Add Task',
        child: Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.
    );
  }

// 更新页面以导航回主页

onPressed: () async {
              var res = await updateNewTask(_taskTextInput.text,
                  _vendorTextInput.text, _amountTextInput.text, id);
              print(res);
              Navigator.pop(context);
            },
4

0 回答 0