как установить фокус на любое поле ввода в ionic 2?

В моем приложении ionic2 у меня есть текстовое поле, теперь я отправляю форму без добавления какого-либо значения в это текстовое поле, в то время я предупреждаю, что «текстовое поле не может быть пустым». теперь, когда оповещение приближается, фокус должен быть в том же текстовом поле.


person Devang Mistry    schedule 09.03.2017    source источник
comment
stackoverflow.com/questions/42576869/   -  person Suraj Rao    schedule 09.03.2017
comment
спасибо @suraj я пройду через это   -  person Devang Mistry    schedule 09.03.2017
comment
можешь добавить свой код?   -  person Suraj Rao    schedule 09.03.2017


Ответы (1)


import {Component, Input, ViewChild} from '@angular/core';
import {NavController} from 'ionic-angular';

@Component({
  templateUrl: 'build/pages/home/home.html'
})
export class HomePage {
  @ViewChild('input') myInput ;

  constructor(private navCtrl: NavController) { }

  ionViewLoaded() {

    setTimeout(() => {
      this.myInput.setFocus();
    },150);

 }

}

1) импортировать «Ввод», «ViewChild» и «NavController»

import {Component, Input, ViewChild} from '@angular/core';
import {NavController} from 'ionic-angular';

2) Создайте ссылку на свой ввод в своем шаблоне:

<ion-input #input>
@ViewChild('input') myInput ;

3) активировать фокус

ionViewLoaded() {

    setTimeout(() => {
      this.myInput.setFocus();
    },150);

 }

4) Показать клавиатуру

добавьте эту строку в свой config.xml:

<preference name="KeyboardDisplayRequiresUserAction" value="false" />
person Chetann    schedule 09.03.2017
comment
Зачем нужен тайм-аут, есть ли более элегантный способ использования правильного жизненного цикла? - person felipeclopes; 10.05.2019