2017-08-21 52 views
1

我使用Ionic 2和Select2Module(ng2-select2 package)作爲自動完成輸入 - 下拉菜單。當在Ionic 2中按下硬件按鈕時,Select2不隱藏

當我點擊輸入以顯示select2的自動完成下拉菜單時,如果我想鍵入並展開選項,則會出現鍵盤。 當我點擊移動按鈕後,鍵盤消失,但沒有下拉。如果我再次按下按鈕,我會回到屏幕上,但下拉菜單仍然存在。

這裏是當我按下了顯示輸入的下拉菜單和顯示的選項與鍵盤會發生什麼

一個例子: enter image description here

當我按下按鈕,背面和鍵盤消失,但不是下拉: enter image description here

當我再次按下按鈕回a第二我返回到上一個頁面,但下拉仍然存在: enter image description here

我怎麼能隱藏下拉當用戶按下按鈕回來?什麼發生select2組件?

我試圖解決這個問題,下面的代碼在我app.component.ts

platform.registerBackButtonAction(() => { 
     const overlayView = this.app._appRoot._overlayPortal._views[0]; 
     if(overlayView && overlayView.dismiss){ 
      overlayView.dismiss(); 
     } else { 
      this.app.goBack(); 
     } 
     }) 

但不工作。從理論上講,後退按鈕應該隱藏模式彈出窗口,但它不起作用。

+0

這是「模態彈出」還是「頁面」? – Sampath

+0

@Sampath不是'頁面'。但我不知道它是否是一個「模態彈出」。我用一些代碼更新了我的問題。 – Dvex

+0

你如何觸發開放,它是輸入? – Vega

回答

0

您可以嘗試如下所示。

app.component.ts

this.platform.registerBackButtonAction(() => { 
    try { 
    this.viewController.dismiss() 
    } 
    catch(e) { 
    ... no overlay component open 
    } 
}) 

如果以上都不行,你可以找出噸solutions here