J'ai une vue avec une entrée <ion-input #codigobarras></ion-input>
Comment puis-je me concentrer automatiquement sur cette entrée?
@ViewChild('codigobarras') input_codigobarras: Input;
...
ionViewDidEnter() {
this.input_codigobarras.focus(); // didn't work = temp2.focus is not a function
this.input_codigobarras.focus.emit(); // didn't work = do nothing, just returns undefined
this.input_codigobarras.getElementRef().nativeElement.focus() // didn't work = do nothing, just returns undefined
this.input_codigobarras.setFocus(); // didn't work = do nothing, just returns undefined
}
<ion-input [autofocus]></ion-input> <!-- Didn't wrok -->
Une solution plus générique pour le faire quand et où vous le souhaitez pourrait être:
<ion-input ... #inputId></ion-input>
Ainsi, avec un ViewChild
dans votre contrôleur, vous pouvez facilement mettre l'accent sur:
@ViewChild('inputId', {static: false}) ionInput: { setFocus: () => void; };
...
setFocusOnInput() {
this.ionInput.setFocus();
}