Flutter 当从颤振中的页面返回时,如何刷新以前的屏幕/页面列表?
我有两个页面,一个是列表视图,另一个是表单类页面。将sqflite与streambuilder一起用于crud操作,一旦我输入输入并从第二个屏幕保存,第一个屏幕的列表视图应该更新 第一屏:Flutter 当从颤振中的页面返回时,如何刷新以前的屏幕/页面列表?,flutter,dart,Flutter,Dart,我有两个页面,一个是列表视图,另一个是表单类页面。将sqflite与streambuilder一起用于crud操作,一旦我输入输入并从第二个屏幕保存,第一个屏幕的列表视图应该更新 第一屏: onPressed: () { final newDebtor = Debtor(name: _debtorNameFormController.value.text); if (n
onPressed: () {
final newDebtor =
Debtor(name: _debtorNameFormController.value.text);
if (newDebtor.name.isNotEmpty) {
debtorBloc.addDebtor(newDebtor);
//dismisses the bottomsheet
Navigator.pop(context, false);
}
},
列表视图将从sqflite datatbase返回,如下所示
Widget getDebtorsWidget() {
return StreamBuilder(
stream: debtorBloc.debtors,
builder: (BuildContext context, AsyncSnapshot<List<Debtor>> snapshot) {
return getDebtorCardWidget(snapshot);
},
);
}
-----------------------------------------------------------------------------
floatingActionButton: FloatingActionButton(
tooltip: 'Add an entry',
child: Icon(Icons.add),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => DebtorFormFullScreenDialog(),
fullscreenDialog: true,
));
//_showAddDebtorSheet(context);
},
),
void _showAddDebtorSheet(BuildContext context) {
......
}
_当在此列表视图中输入数据时,showAddDebtorSheet()在同一屏幕上立即更新。但当在第二个屏幕上执行此操作时,即使我导航回第一个屏幕,listview也不会更新
注意:如果您需要更多信息,请通知我。您可以等待(也可以从第二页
Navigator.of(context).pop(value)
)然后设置状态((){})代码>在第一页上下文中刷新
在您的示例中,它看起来像:
onPressed: () async {
await Navigator.push(
context,
MaterialPageRoute(
builder: (BuildContext context) => DebtorFormFullScreenDialog(),
fullscreenDialog: true,
)
);
setState(() {});
},
很抱歉,你和我是同一时间