Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

487
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda