【问题标题】:Ionic keyboard and ngIf work not as expected离子键盘和 ngIf 没有按预期工作
【发布时间】:2016-10-30 04:27:20
【问题描述】:

我有问题:

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

详情:

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

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

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

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

从终端/cmd 提示符运行离子信息:(在下面粘贴输出) 科尔多瓦 CLI:6.2.0 离子框架版本:2.0.0-beta.9 Ionic CLI 版本:2.0.0-beta.32 离子应用程序库版本: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 Build 版本 7D1014

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

以前有人遇到过这个问题吗? 我发到了drifty 的github,离子论坛,但还没有回复:(

【问题讨论】:

    标签: android angular ionic2


    【解决方案1】:

    键盘插件存在错误。

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

    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>
    

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

    谢谢, 丹

    【讨论】:

    • 有没有关于这个问题的更新?它仍然存在
    猜你喜欢
    • 2023-03-07
    • 2018-09-12
    • 2021-01-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 2011-12-17
    • 2016-08-13
    相关资源
    最近更新 更多