从数据库在后台更新小部件
Update a widget in the background from database
我有一个小部件(称为 RecordsListWidget),它使用 sqflite 从数据库加载记录列表。
从这个小部件(或第三个小部件)可以打开另一个小部件(称为 NewRecordFormWidget)Navigator.pushNamed(context, NewRecordFormWidget.ROUTE);
在NewRecordFormWidget中用户可以输入一些数据,并在数据库中保存一条新记录。
我想在用户离开 NewRecordFormWidget 后在 RecordsListWidget 中显示新记录。什么是最好的方法?
我想继续使用 sqflite,如果可能的话不迁移到另一个库。
当您从 NewRecordFormWidget 弹出回 RecordsListWidget 时,您可以发回一个布尔值作为检查 UI待更新与否
例如(松散代码)-
class ClassOne {
Button(
onPressed () async {
var res = await Navigator.push(ClassTwo);
if(res)
//run query on database again and update UI
else
//do nothing
}
)
}
class ClassTwo {
Button(
onPressed () {
Navigator.pop(context, true); //send true for updating the UI, or false for not updating
}
)
}
我有一个小部件(称为 RecordsListWidget),它使用 sqflite 从数据库加载记录列表。
从这个小部件(或第三个小部件)可以打开另一个小部件(称为 NewRecordFormWidget)Navigator.pushNamed(context, NewRecordFormWidget.ROUTE);
在NewRecordFormWidget中用户可以输入一些数据,并在数据库中保存一条新记录。
我想在用户离开 NewRecordFormWidget 后在 RecordsListWidget 中显示新记录。什么是最好的方法?
我想继续使用 sqflite,如果可能的话不迁移到另一个库。
当您从 NewRecordFormWidget 弹出回 RecordsListWidget 时,您可以发回一个布尔值作为检查 UI待更新与否
例如(松散代码)-
class ClassOne {
Button(
onPressed () async {
var res = await Navigator.push(ClassTwo);
if(res)
//run query on database again and update UI
else
//do nothing
}
)
}
class ClassTwo {
Button(
onPressed () {
Navigator.pop(context, true); //send true for updating the UI, or false for not updating
}
)
}