我有一个页面正在调用多个类和不同的小部件 用户可以通过单击它跳到任何页面。
当前的问题是我希望在每次显示给用户时刷新原始页面。
刚加载时(暂时没有问题)。
当用户使用返回键从其他页面返回时。 旧数据显示在页面上,我正试图摆脱它。
我已尝试使用Navigator.push
方法(Observer class
方法),并尝试在用户按下返回键时进行监听。
,但是有多个页面可以提供独特的请求,我不想将所有人都与该首页链接起来。
就像单击Navigator.pop(context)
方法时一样,我必须传递一些字符串。
有人知道吗 当用户使用Backkey返回页面时,如何刷新页面。
答案 0 :(得分:1)
遇到相同的问题,以下内容对我有用(下面的代码在FirstPage()
中):
Navigator.push( context, MaterialPageRoute( builder: (context) => SecondPage()), ).then((value) => setState(() {}));
从SecondPage()
弹出到FirstPage()
后,“ then”语句将运行并刷新页面。
答案 1 :(得分:0)
NavigatorObserver可以收听路线更改。
您需要创建覆盖const utils = require('util');
(async () => {
const browser = await puppeteer.launch({headless: false})
const page = await browser.newPage()
const tessProcess = utils.promisify(tesseract.process);
await page.setViewport(viewPort)
await page.goto('example.com')
await page.screenshot(options)
const text = await tessProcess('new.png');
//YOU CAN USE text HERE/////////////
await page.$eval('input[id=companyID]', (el, value) => el.value = value, text);//here too
await browser.close()
})()
,didPop
等的实现。
然后,您可以将其传递到didPush
或navigatorObservers
MaterialApp
字段中
答案 2 :(得分:0)
Navigator.push
解析为Future
时,将返回一个MaterialPageRoute
。您可以等待Future
知道何时弹出其他视图。
示例
Navigator.of(context).push(MaterialPageRoute(
builder:
(context) => NewView(),
),
).then((_) {
// Call setState() here or handle this appropriately
});