Navigator.push 或 .pop 上的 ScaffoldMessenger showSnackBar?

ScaffoldMessenger showSnackBar on Navigator.push or .pop?

听起来很简单,当前通过 Navigator.pop 后的 ScaffoldMessenger 显示快餐栏的方法是什么进入上一页,快餐栏显示在当前页面上(上一页)?

首先使用 ScaffoldMessenger.of(context) ..hideCurrentSnackBar() ..showSnackBar(SnackBar(content: Text(message))); 稍后你可以使用 Navigator.pop();

要return数据到首屏,使用Navigator.pop()方法然后show snackbar

  ElevatedButton(
            onPressed: () {
              // Close the screen and return "test!" as the result.
              Navigator.of(context).pop();
              ScaffoldMessenger.of(context)
                ..removeCurrentSnackBar()
                ..showSnackBar(const SnackBar(content: Text('test')));
            },
            child: const Text('close!'),
          )

如需了解更多信息,请阅读此内容 article

内容:文本(响应['message']), 背景颜色:主要颜色, dismissDirection: DismissDirection.up, ); ScaffoldMessenger.of(上下文).showSnackBar(snackBar); Navigator.of(上下文).pop()