2016-06-28 3 views
1

У меня есть проблема с:Ионные клавиатура и ngIf работать, как ожидалось

  • Клавиатура показать/скрыть событие (я использую ионную клавиатуры)
  • Угловые JS 2 * ngIf, чтобы показать/скрыть кнопку в навигации бар, когда клавиатура показать/скрыть

Подробности:

  • Я использую ионную v2 для создания приложения. Мое приложение имеет 3 панели вкладок (например, ионное приложение по умолчанию, когда запускается командный ионный запуск).
  • В первой вкладке я добавляю 2 кнопки в навигационной панели, используя одну кнопку, это «начальный» тип, другой тип «конец». Кнопка «Начало» - кнопка «Отмена». Также для ввода значения.
  • Мое требование, когда пользователь нажимает внутри поля, клавиатура покажет. При показе клавиатуры я использую * ngIf для отображения кнопки (кнопка «Отмена»). И когда клавиатура скроется, я скрою кнопку.

Все работает отлично в устройствах iOS. Но в Android это работает не так, как ожидалось. В первый раз, когда я нажимаю поле, кнопка «Отмена» не отображается (клавиатура уже отображается), затем я коснуюсь внешнего поля, скрытая клавиатура и кнопка «Cance» отображаются не так, как я ожидал.

Шаги для воспроизведения: я совершить исходный код в: https://github.com/RioV/ionic2Study 1. НПМ установки 2. Ионная платформа добавить ИСН/андроид 3. сборки приложения на андроид устройства. 4. На вкладке «Главная» вкладка «Введите поле ввода», чтобы отобразить клавиатуру устройства, кнопка «Отмена» не отображается (я ожидал, что она появится). 5. Коснитесь поля «Введите поле ввода», чтобы скрыть клавиатуру, нажмите «Отмена».

https://github.com/RioV/ionic2Study Какая ионная версия? CLI v2.0.0-beta.32

Run ионной информация от терминала/CMD строка: (выход пасты ниже) Кордовы CLI: 6.2.0 Ионных Framework Версии: 2.0.0-beta.9 Ионных C Версии: 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: OK IPad мини 3, IOS 9.3.1: OK Nesus 7, Android 5.0.2: NG

Есть ли у кого-нибудь этот вопрос раньше? я отправил в вьюжное-х GitHub, ионный форуме, но не ответ еще :(

ответ

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> 

Надеюсь, это вам поможет. Я напишу отчет об ошибке в области зоны плагина клавиатуры.

Thanks, Dan