我有问题:
- 键盘显示/隐藏事件(我使用的是 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/