2014-09-23 55 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>