在Ionic 2中按下硬件按钮后,Select2不会隐藏

时间:2017-08-21 20:38:06

标签: android angular ionic2 jquery-select2 ionic3

我使用Ionic 2和Select2Module(ng2-select2 package)进行自动完成输入下拉。

当我点击输入以显示select2的自动完成下拉列表时,如果我想键入并展开选项,则会出现键盘。 当我单击移动按钮后,键盘消失但不是下拉列表。如果我再次按下按钮,我会回到屏幕,但下拉列表仍然存在。

以下是发生的事情的一个例子

当我按下输入以显示下拉列表并使用键盘显示选项时 enter image description here

当我按下按钮并且键盘消失但不是下拉列表时 enter image description here

当我再次按下按钮后,我返回到上一页,但下拉列表仍然存在: 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();
        }
      })

但不行。理论上这个代码,后退按钮应该隐藏模态弹出窗口,但它不起作用。

1 个答案:

答案 0 :(得分:0)

您可以尝试如下所示。

app.component.ts

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

如果上面的工作没有成功,你可以找到大量solutions here