我里面做了封装,外面调用时,怎么使用dismiss()
mx4g opened this issue · 1 comments
mx4g commented
//封装的Dialog
YYDialog contentDialog(Widget widget,{backgroundColor,width,height,borderRadius, gravity}) {
return YYDialog().build()
..width = width
..gravity = gravity
..gravityAnimationEnable = true
..borderRadius = borderRadius
..height = height
..backgroundColor = backgroundColor
..widget(
Container(
child: widget,
)
)
..show();
}
//外面调用
var open = contentDialog(Text("Test"));
//我是这样关闭的,但是没有效果,我只能用Navigator.of(context).pop() 才行;
open?.dismiss();
AndroidHensen commented
不要直接使用 Navigator.of(context).pop(),有bug的。
把对象做为全局变量放在外面的class里面
先 var dialog = null 出来
然后 dialog = 你的创建弹窗代码
然后消失 dialog?.dismiss()