在 Ionic 2 中按下硬件按钮时 Select2 不隐藏
Posted
技术标签:
【中文标题】在 Ionic 2 中按下硬件按钮时 Select2 不隐藏【英文标题】:Select2 is not hide when press hardware button back in Ionic 2 【发布时间】:2018-01-30 00:06:30 【问题描述】:我使用 Ionic 2 和 Select2Module (ng2-select2 package) 来自动完成输入下拉菜单。
当我单击输入以显示 select2 的自动完成下拉菜单时,如果我想键入并展开选项,则会出现键盘。 当我单击移动按钮返回时,键盘消失但下拉菜单消失。如果我再次按下按钮,我会回到屏幕但下拉菜单仍然存在。
这里是发生了什么的一个例子
当我按下输入以显示下拉菜单并使用键盘显示选项时:
当我按回按钮并且键盘消失但下拉菜单消失时:
当我再次按下按钮返回到上一页时,下拉菜单仍然存在:
当用户按下按钮时,如何隐藏下拉菜单? select2 组件会发生什么?
我尝试使用app.component.ts
中的以下代码解决此问题:
platform.registerBackButtonAction(() =>
const overlayView = this.app._appRoot._overlayPortal._views[0];
if( overlayView && overlayView.dismiss )
overlayView.dismiss();
else
this.app.goBack();
)
但不工作。理论上,使用此代码,后退按钮应该隐藏模式弹出窗口,但它不起作用。
【问题讨论】:
这是modal popup
还是page
?
@Sampath 不是page
。但我不知道是不是modal popup
。我用一些代码更新了我的问题。
怎么触发打开,是输入吗?
【参考方案1】:
你可以试试如下图。
app.component.ts
this.platform.registerBackButtonAction(() =>
try
this.viewController.dismiss()
catch(e)
... no overlay component open
)
如果上述方法不起作用,您可以查找大量 solutions here。
【讨论】:
以上是关于在 Ionic 2 中按下硬件按钮时 Select2 不隐藏的主要内容,如果未能解决你的问题,请参考以下文章