我有两个屏幕A和B。我目前在屏幕A上,我调用了一个函数,该函数在10秒后显示一个对话框。问题是,当我在对话框出现之前导航到屏幕B时,对话框出现在屏幕B而不是A上,即使我使用了_scaffoldKey. currentContext。
showDialog(
context: _scaffoldKey.currentContext!,
builder: (ctx) {
return Widget();
},
)
如何确保对话框只出现在屏幕A上?
1条答案
按热度按时间tgabmvqs1#
阿雄
这个问题可能是由于在调用
showDialog
方法时传入了_scaffoldKey
的当前context
。但是,如果在对话框出现之前将navigate
传递到屏幕B,则current
context
可能不再引用屏幕A。一种方法是用
Builder
Package 小部件,而不是显式地依赖于_scaffoldKey.currentContext
希望对你有帮助,还有
context
的基本定义,让你的头脑更清晰,