Я пытаюсь установить фокус на поле ввода.Я упомянул это решение
. Оно отлично работает в браузере Chrome и на устройствах Android, но не на устройствах Safari и IOS (протестировано на iPhone 6 & 6s).
Вот мой файл .html
<ion-input #focusInput type="tel" placeholder="Phone Number"></ion-input>
<button type="button" onclick="setFocusByclick(focusInput)">Set Focus</button>
Вот мой файл .ts
@ViewChild('focusInput') myInput;
// @ViewChild('focusInput') myInput: ElementRef; //this also doesnt work in ios
ionViewDidLoad() {
setTimeout(() => {
if (this.device.platform == 'Android') {
Keyboard.show() // for android
}
this.myInput.setFocus();
// this.myInput.nativeElement.focus(); //this also doesnt work in ios
},1000);
}
setFocusByclick(input) {
input.setFocus(); //this works very well onclicking
}
Что ж, передача ссылки на элемент ввода при нажатии кнопки работает хорошо на любой платформе, но я хочуустановить фокус без какого-либо взаимодействия с пользователем.ViewChild - это решение для получения ссылки на элемент, но оно не работает в iOS & Safari