导航到页面后打开Dialog时出现问题。目的是在用户登陆此页面时始终打开对话框。
简化,我有一个看起来像这样的控制器:
onInit: function() {}
this.myRouter.getRoute("orderscreate").attachPatternMatched(this._onObjectMatched, this);
},
_onObjectMatched: function() {
this.dialog = sap.ui.xmlfragment("myDialog", this);
this.dialog.open();
},
当我放入调试器时,效果很好:我可以看到对话框已打开。
然后,导航动画启动,执行幻灯片动画,完成后再次关闭对话框。我不确定为什么它会在视图渲染后继续导航。
使用navTo
时也会发生这种情况。对话框打开,动画启动,对话框再次关闭。据我所知,sap.m.Page
在显示之后没有其他方式执行代码。
有什么建议吗?
答案 0 :(得分:2)
除非另有说明,否则TargetHandler将关闭所有打开的对话框。
TargetHandler,一个用于关闭对话框并在显示目标时显示NavContainers中的转换的类。
尝试在路由器初始化后添加以下代码
this.myRouter.getTargetHandler().setCloseDialogs(false);