SOLVÉ :
import { Component, ViewChild} from '@angular/core';
import { Keyboard } from 'ionic-native';
@Component({
templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
@ViewChild('input') myInput ;
constructor() {}
ionViewDidLoad() {
setTimeout(() => {
Keyboard.show() // for android
this.myInput.setFocus();
},150);
}
}
1) Importez "ViewChild".
import {Component, ViewChild} from '@angular/core';
2) Créez une référence à votre entrée dans votre modèle html :
<ion-input #focusInput></ion-input>
3) Utilisez @ViewChild pour accéder au composant d'entrée que vous venez de référencer précédemment.
@ViewChild('focusInput') myInput ;
4) Déclencher la mise au point
Utilisez la méthode ionViewLoaded() pour la déclencher chaque fois que la vue/page est chargée.
setTimeout est nécessaire
ionViewLoaded() {
setTimeout(() => {
Keyboard.show() // for android
this.myInput.setFocus();
},150); //a least 150ms.
}
4) Afficher le clavier sur Android
import { Keyboard } from 'ionic-native';
Appelez Keyboard.show() pour appeler le clavier sur Android.
5) Afficher le clavier sur iOS
ajoutez cette ligne à votre config.xml pour le faire fonctionner sur iOS :
<preference name="KeyboardDisplayRequiresUserAction" value="false" />
Avec l'aide du grand article de mhartington : http://mhartington.io/post/setting-input-focus/