Flutter 元素数据未刷新
//在提交时为对话框调用其他类,但单击该对话框不会更新列表数据 它正在刷新数据,但不会转到第二个选项卡上最后打开的选项卡。我执行此操作,但点击时,它会转到第一个选项卡Flutter 元素数据未刷新,flutter,navigation,Flutter,Navigation,//在提交时为对话框调用其他类,但单击该对话框不会更新列表数据 它正在刷新数据,但不会转到第二个选项卡上最后打开的选项卡。我执行此操作,但点击时,它会转到第一个选项卡 onTap: () { setState(() { Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => EmployeePersonalDetailsU
onTap: () {
setState(() {
Navigator.pushReplacement(context,
MaterialPageRoute(builder: (context) =>
EmployeePersonalDetailsUpdateActivity(_token),));
widget.listener.onEmployeeFamilyClick(_day, _month, _year,
_working);
});
Navigator.pop(context,true);
}
导航后调用widget.listener,在导航路线之前调用它&如果要将api响应传递给EmployeePersonalDetailsUpdateActivity小部件,则必须处理它,当您要刷新屏幕时,这是您的选择
setState(() {
widget.listener.onEmployeeFamilyClick(_day,_month,_year,_working);
Navigator.pushReplacement(context, MaterialPageRoute(builder:
(context) => EmployeePersonalDetailsUpdateActivity(_token),));
});
还有另一种方法:
widget.listener.onEmployeeFamilyClick(_day,_month,_year,_working).then((value) {
Navigator.pushReplacement(context, MaterialPageRoute(builder:
(context) => EmployeePersonalDetailsUpdateActivity(_token), value));
});
您可以导航小部件并传递响应值,并在小部件上显示更新后的值。是否尝试更改当前屏幕?是的,此操作在dialog类上执行,点击,它将返回到活动类我的问题它不会使用widget.listener刷新列表数据我调用API。了解您的问题,如果您使用flatter_bloc处理此问题,imo将更容易。为什么您调用pushReplacement,然后从Navigator调用pop?您应该从离开的屏幕调用pop,而不是从屏幕,打开另一个屏幕。尝试在不调用setState的情况下导航到其他屏幕,并在那里进行所需的操作。我尝试了两种解决方案,但在第二种解决方案中都不起作用,因此出现了一个错误。使用navigator,当对话框关闭时,如何定义要从中选择的特定选项卡的路线。