离子键盘和ngIf工作效果不尽如人意

时间:2016-06-28 02:30:14

标签: android angular ionic2

我遇到了问题:

  • 键盘显示/隐藏事件(我正在使用离子键盘)
  • Angular js 2 * ngIf在键盘显示/隐藏时显示/隐藏导航栏中的按钮

详情:

  • 我正在使用离子v2来构建应用程序。我的应用程序有3个标签栏(如运行命令离子启动时的默认离子应用程序)。
  • 在第一个标签中,我在导航栏中添加了2个按钮,一个按钮是“开始”类型,另一个是“结束”类型。 “开始”类型按钮是“取消”按钮。也有输入值。
  • 我的要求是当用户点击字段内部时,键盘会显示。当键盘显示时,我正在使用* ngIf来显示按钮(取消按钮)。当键盘隐藏时,我会隐藏按钮。

iOS设备中的一切正常。但在Android中,它并不像预期的那样有效。我第一次点击字段,按钮取消不显示(键盘已经显示),然后我点击外部字段,键盘隐藏和取消按钮显示,而不是我预期的。

重现的步骤: 我将源代码提交到:https://github.com/RioV/ionic2Study 1. npm安装 2.离子平台添加ios / android 3.将app构建到android设备中。 4.在主页选项卡中,选项卡输入数字字段显示设备的键盘,按钮取消不显示(我预计它会显示) 5.点击外部输入数字字段隐藏键盘,按钮取消显示。

https://github.com/RioV/ionic2Study 哪个离子版? CLI v2.0.0-beta.32

从terminal / cmd提示符运行离子信息:(粘贴输出如下) Cordova CLI:6.2.0 Ionic Framework版本:2.0.0-beta.9 Ionic CLI版本:2.0.0-beta.32 Ionic App Lib版本:2.0.0-beta.18 ios-deploy版本:1.8.6 ios-sim版本:5.0.8 操作系统:Mac OS X El Capitan 节点版本:v6.2.1 Xcode版本:Xcode 7.3.1构建版本7D1014

我正在测试 iPhone 5s,iOS 8.4:好的 iPad mini 3,iOS 9.3.1:好的 Nesus 7,Android 5.0.2:NG

以前有人有这个问题吗? 我发布到drifty的github,离子论坛但尚未回复:(

1 个答案:

答案 0 :(得分:2)

键盘插件存在错误。

您需要打包调用以在controlShowHide调用中更新zone.run对象。

zone.run( () => {
    console.log('KEYBOAD SHOW');
    self.controlShowHide['cancelButton'] = true;
    console.log("keyboardShowHandler Value is: ", self.controlShowHide['cancelButton']);
  });

继续并在按钮上添加一些样式。我也在那里看到了一个问题。

<ion-buttons *ngIf="controlShowHide.cancelButton === true" start>
    <button secondary (click)="invokeButtonCancel()">
        Cancel
    </button>
</ion-buttons>

我希望这会对你有所帮助。我将提交有关键盘插件区域问题的错误报告。

谢谢, 丹