2017-08-21 98 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