In my PWA built with Ionic and Angular 8, I am in need to handle enter key press to move to next element. How can I achieve it with (keyup.enter). Please help me.
one way is to setting a reference of the next element. like below
<ion-content padding>
<form (ngSubmit)="logForm()">
<ion-item>
<ion-label>Todo1</ion-label>
<ion-input type="text" [(ngModel)]="todo.title1" name="title1" #a (keyup.enter)="setFocus(b)"></ion-input>
</ion-item>
<ion-item>
<ion-label>Todo2</ion-label>
<ion-input type="text" [(ngModel)]="todo.title2" name="title2" #b (keyup.enter)="setFocus(c)"></ion-input>
</ion-item>
<ion-item>
<ion-label>Todo3</ion-label>
<ion-input type="text" [(ngModel)]="todo.title3" name="title3" #c (keyup.enter)="setFocus(d)"></ion-input>
</ion-item>
<ion-item>
<ion-label>Description</ion-label>
<ion-textarea [(ngModel)]="todo.description" name="description" #d></ion-textarea>
</ion-item>
<button ion-button type="submit" block>Add Todo</button>
</form>
</ion-content>
and in .ts
file
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
todo = {}
logForm() {
console.log(this.todo)
}
setFocus(nextElement) {
nextElement.setFocus(); //For Ionic 4
//nextElement.focus(); //older version
}
constructor(public navCtrl: NavController) {
}
}