fluttercandies/flutter_smart_dialog

使用了 bindWidget后在切换主tabbar后,弹框不会自动消息

Closed this issue · 1 comments

Version Information

  • Flutter version: [e.g. v3.19.6]
  • flutter_smart_dialog version: [e.g. v4.9.4]

Describe the bug/requirement

使用IndexedStack创建2个页面,在A页面增加一个按钮,点击弹出弹框,代码如下
var result = await SmartDialog.showAttach(
targetContext: null,
targetBuilder: (offset, size) {
Offset set = Offset(0, _getMenuOffSetY() + 40.w);//
return set;
},
builder: (context) {
if (item.isMultipleSelection()) {
return MenuFilterWidget(
items: item.children,
parent: item,
selectData: ref.watch(homeMenuSelectedProvider),
);
} else if (item.isLeftRight()) {
return MenuCategoryWidget(
items: item.children,
parent: item,
selectData: ref.read(homeMenuSelectedProvider),
allowMultipleSelection: item.allowMultipleSelection,
);
}
return Container();
},
// maskColor: Colors.red,
bindPage: true,
debounce: true,
maskIgnoreArea: Rect.fromLTRB(0, _getMenuOffSetY() + 40.w, 0, 0),
clickMaskDismiss: true,
backDismiss: true,
onMask: () {
SmartDialog.dismiss();
_reset(item);
});
当在A页面点击按钮弹出菜单栏的一瞬间,去点击切换tabbar的按钮,手速够快的话,能必先这个问题。

我也有看到你的bindPage的操作逻辑,是通过NavigatorObserver中的didPop来处理,好像不是很符合当前的情况,请问这种应该怎么解决???

Problem demo

能提供可复现且可运行的demo, 再开issue

你上面的乱七八糟的代码没有任何意义, 我也没时间看这种东西