从数据库在后台更新小部件

Update a widget in the background from database

我有一个小部件(称为 RecordsListWidget),它使用 sqflite 从数据库加载记录列表。

从这个小部件(或第三个小部件)可以打开另一个小部件(称为 NewRecordFormWidgetNavigator.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
    }
  )   
}