android - ionic 键盘和 ngIf 未按预期工作

标签 android angular ionic2

我有问题:

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

详细信息:

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

在 iOS 设备上一切正常。但在 Android 中,它并不像预期的那样工作。我第一次点击字段时,取消按钮不显示(键盘已经显示),然后我点击外部字段,隐藏键盘并显示取消按钮,这与我预期的不同。

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

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

从终端/cmd 提示符运行 ionic 信息:(粘贴下面的输出) Cordova CLI:6.2.0 ionic 框架版本:2.0.0-beta.9 ionic CLI 版本:2.0.0-beta.32 ionic 应用程序库版本:2.0.0-beta.18 ios部署版本: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:异常

有人遇到过这个问题吗? 我发布到 drifty 的 github,ionic 论坛但还没有回复:(

最佳答案

键盘插件存在错误。

您需要将更新 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>

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

谢谢, 丹

关于android - ionic 键盘和 ngIf 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38066124/

相关文章:

css - Ionic 2.2.3 背景颜色在 SCSS 文件的新页面上没有改变

Android:ListView 的工作原理

android - 每 10 秒后使用 Handler 在 Thread 中调用方法的最简单方法

Angular4 AutoComplete 运行速度非常慢,如何加快速度

angular - ionic 2 : custom provider causing "Can' t resolve all parameters"

angular - 调试 Angular2 应用程序

ionic2 - npm install -g ionic@latest 没有升级到 ionic 3.0.1

javascript - 动态翻译服务 Ionic 2 Angular 2 ngx-translate

android - 2 个视频 1 个媒体 Controller

android - 在 Own Content Provider 中插入数据时出错?