(щелчок) открывает клавиатуру вместо модального

#ios #cordova #ionic-framework #keyboard #modal-dialog

#iOS #кордова #ионный фреймворк #клавиатура #модальный диалог

Вопрос:

У меня есть следующий код в моем html.

 <ion-item (click)="showAddressModal()">
<ion-input [(ngModel)]="address.formattedAddress"
type="text" placeholder="Pick a location for your event">
</ion-input>
</ion-item>
  

showAddressModal() по сути открывает модальную страницу, где пользователь может искать адрес.

Работает как шарм, когда я запускаю его в Chrome с помощью браузера ionic cordova run.

Однако в iOS для открытия модального требуется 2, иногда 3 клика. Первый щелчок вызывает клавиатуру. Если я отключу клавиатуру с помощью [только для чтения] = «true», тогда клавиатура не появится, но мне все равно нужно 2 щелчка. Если я отключу весь ввод с помощью [disabled], это не соответствует моей цели — не удается щелкнуть. Я попытался переместить (щелчок) из ion-item в ion-input, я попытался полностью удалить ion-item, но безрезультатно!

Пожалуйста, поделитесь своим мнением о том, как я могу это исправить.

С уважением, Дж

Ответ №1:

ОК. На данный момент я исправил свою собственную проблему, полностью удалив ion-input и просто используя ion-text с (щелчком) прослушивателем на нем. Вместо заполнителя я просто показываю тот же заполнитель, если address.formattedAddress пуст.

Все еще не уверен, в чем проблема с ion-input и iOS, но отложу решение этой проблемы на другой день.

Для тех из вас, кому интересно увидеть новый код, вот как выглядит код шаблона — никаких изменений в моем компоненте или в самом модальном —

 <ion-item (click)="showAddressModal()">
<ion-text inputmode="none">
{{ (address.formattedAddress == "") ? "Pick a location for your event" : address.formattedAddress}}
</ion-text>
</ion-item>
  

Спасибо!