我知道pushAndRemoveUntil()会弹出所有页面。但是,请参考下面的代码和截图。如果用户键入dummy dummy,然后移动到ResetPassword()' with 'pushAndRemoveUntil(),最后移回同一页面LogIn(),dummy的值仍然存在。请告诉我为什么会发生这种情况,'pushAndRemoveUntil()'没有删除所有以前的页面,或其他因素影响这个问题?并让我知道我如何解决它。第一个
pushAndRemoveUntil()
dummy
ResetPassword()' with 'pushAndRemoveUntil()
LogIn()
x4shl7ld1#
解决这个问题非常简单,只需在导航到下一个屏幕之前添加一个loginIdController.clear()函数:
loginIdController.clear()
Align( ... child: InkWell( onTap: () { loginIdController.clear(); //add this ref.read(completeErrorMessage.notifier).update((state)=>null); // generalNavigator(context: context, destination: ResetPassword(), goBack: "go"); removeNavigator(context: context, destination: ResetPassword()); }, ... ), ), ),
1条答案
按热度按时间x4shl7ld1#
解决这个问题非常简单,只需在导航到下一个屏幕之前添加一个
loginIdController.clear()
函数: