Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

484
Vistas
Cómo eliminar el foco de una entrada de iones en Angular 2+/Ionic2+

Es posible establecer el enfoque usando el método setFocus de nativeEloment.

Pero, ¿qué hay de quitar el foco?

¿Cómo podría eliminar el cursor y anular la selección de una entrada de una plantilla en una aplicación Angular 2+/Ionic 3?

Necesito eliminar el foco porque el teclado del móvil se mantiene abierto mientras una entrada tiene el foco.

Editar: la entrada es una entrada de iones de Ionic2 +.

about 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

1) Agregue una referencia de variable de plantilla a su entrada en la plantilla de su componente:

 <ion-input #textInput>

2) Agregue ElementRef y ViewChild a las importaciones de su componente:

 import { ElementRef, ViewChild } from '@angular/core'

3) Agregue la variable @ViewChild y los métodos relevantes a su componente:

 export class AppComponent { @ViewChild('textInput') textInput; setFocus() { this.textInput.nativeElement.focus(); } removeFocus() { this.textInput.nativeElement.blur(); } }

Puede activar setFocus() o removeFocus() de varias maneras. Aquí hay un ejemplo:

 # app.component.html <ion-input #textInput> # app.component.ts import { HostListener } from '@angular/core'; export class AppComponent { [previous code elided for readability] isInputActive: boolean; @HostListener('document:click', ['$event']) handleClickEvent(event: MouseEvent): void { if (document.activeElement !== this.textInput.nativeElement) { this.textInput.nativeElement.blur(); } } }
about 4 years ago · Santiago Trujillo Denunciar

0

Para usuarios de Ionic 4 ;)

Después de probar varias soluciones para descartar/ocultar el teclado de una entrada de búsqueda, encontré una forma inspirada en su solución @zach-newburgh.

No estaba funcionando :

  • this.keyboard.hide()
  • #searchInput (keyup.enter)="searchInput.blur()"
  • this.searchInput.nativeElement.blur();
  • this.searchInput.getElementRef().nativeElement.blur();

Única solución de trabajo

 this.searchInput._native.nativeElement.blur();

Solución completa

TS manera

t

 import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { TextInput } from 'ionic-angular'; ... @ViewChild('searchInput') searchInput: TextInput; ... onSearchEnter() { this.searchInput._native.nativeElement.blur(); }

html

 <ion-input #searchInput type="search" (keyup.enter)="onSearchEnter()" [(ngModel)]="searchQuery"></ion-input>

HTML y la forma más rápida

html

 <ion-input #searchInput type="search" (keyup.enter)="searchInput._native.nativeElement.blur()" [(ngModel)]="searchQuery"></ion-input>

Espero que ayude

about 4 years ago · Santiago Trujillo Denunciar

0

Aplique el enfoque y elimine el enfoque basado en la condición:

 if (condition) { this.addressLine1.nativeElement.focus(); }else{ this.addressLine1.nativeElement.blur(); }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda