sintaxis - modelo de eventos en javascript
Evento de carga angular 2 para un elemento DOM nativo (2)
Deberías poder hacerlo en el gancho ngAfterViewInit:
import { ViewChild, ElementRef, AfterViewInit } from ''@angular/core''
// ...
export class Component implements AfterViewInit {
@ViewChild(''textarea'') textarea: ElementRef
ngAfterViewInit() {
this.textarea.nativeElement.focus()
}
}
Donde en la plantilla necesitas configurar la variable de la plantilla:
<textarea #textarea rows="8" col="60"></textarea>
Mi objetivo final es hacer que un elemento de área de texto se enfoque automáticamente en la creación. Acabo de pensar en una solución para llamar a e.target.focus()
en la e.target.focus()
de eventos. Algo como:
<textarea rows="8" col="60" (load)=''handleLoad($event)''>
y entonces:
handleLoad(e){
e.target.focus();
}
El problema es angular no reconoce load
evento de load
.
PD: Intenté el autofocus
una vez, pero parece que no funciona.
Pruebe el atributo de autofocus
HTML5 :
<textarea rows="8" col="60" autofocus>
Siempre es mejor (y mucho más sencillo) usar la API DOM nativa si es posible que hacerlo en JavaScript :)
EDITAR: Lo anterior es incorrecto. Ver mi comentario a continuación.