2014-09-23 56 views
0

如果我打开两个对话框关闭超过一个对话框

dialogBusy = new sap.m.BusyDialog(); 
dialogBusy.setShowCancelButton(true); 
dialogBusy.setTitle("1"); 
dialogBusy.open(); 

dialogBusy = new sap.m.BusyDialog(); 
dialogBusy.setShowCancelButton(true); 
dialogBusy.setTitle("2"); 
dialogBusy.open(); 

dialogBusy.close(); 

//dialogBusy.close(); 

当我调用close函数关闭我只第二对话框(正确的)。 如何关闭所有对话框?

+0

这是您使用的对话框插件? – 2014-09-23 15:34:11

+0

对两个对话框使用相同的变量,其中用第二个对话框覆盖第一个对话框实例。相反,使用不同的变量代替两个对话框实例 – Qualiture 2014-09-24 08:56:07

+0

可以创建一个逻辑来关闭所有的对话框。只需将它们全部添加到数组中,并通过一个简单的函数遍历所有这些函数并调用close()(如果需要,可以在每个函数上检查isOpen()) – Aleksandrenko 2015-04-14 20:07:38

回答

0

使用两个不同的对话框实例。

<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-theme="sap_bluecrystal" data-sap-ui-libs="sap.m,sap.ui.commons"></script> 
 
<script> 
 
    var dialogBusy = new sap.m.BusyDialog(); 
 
    dialogBusy.setShowCancelButton(true); 
 
    dialogBusy.setTitle("1"); 
 
    dialogBusy.open(); 
 

 
    var dialogBusy2 = new sap.m.BusyDialog(); 
 
    dialogBusy2.setShowCancelButton(true); 
 
    dialogBusy2.setTitle("2"); 
 
    dialogBusy2.open(); 
 
    setTimeout(function() { 
 
     dialogBusy.close(); 
 
    }, 2000); 
 
    setTimeout(function() { 
 
     dialogBusy2.close(); 
 
    }, 1000); 
 
</script>