gpt4 book ai didi

async-await - Flutter - 导航器回调刷新屏幕中的异步方法

转载 作者:IT王子 更新时间:2023-10-29 06:55:00 24 4
gpt4 key购买 nike

我有一个像这样的 Navigator.push:

Navigator.pushNamed(context, "NovoCNPJ").then((value) {
setState(() {
setupList();
});
});

我需要用这个 setState 更新我的 list 变量,我的 setupList 方法:

setupList() async {
var banco = await db.initDB();
list = await banco.rawQuery('SELECT * FROM Empresa');
return list;
}

这个方法是异步的,所以我认为它没有在这段代码上运行。当我从上一个屏幕返回时,应该激活 setupList 并使用新项目重新加载我的列表,但未调用该方法。

最佳答案

如果 async 是问题所在,您可以试试这个吗?

Navigator.pushNamed(context, "NovoCNPJ").then((value) async {
var banco = await db.initDB();
var tempList = await banco.rawQuery('SELECT * FROM Empresa');
setState(() {
list = tempList
});
});

编辑:

Navigator.pushNamed(context, "NovoCNPJ").then((value) async {
var banco = await db.initDB();
var tempList = await banco.rawQuery('SELECT * FROM Empresa');
setState(() {
list = new List();
listArray = new List();
list = new List.from(tempList);
});
});

关于async-await - Flutter - 导航器回调刷新屏幕中的异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51745837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com