Respostas:
Esse é um caso de uso para @ViewChild
:
https://angular.io/docs/ts/latest/api/core/index/ViewChild-decorator.html
class XComponent {
@ViewChild('ipt', { static: true }) input: ElementRef;
ngAfterViewInit() {
// this.input is NOW valid !!
}
somefunction() {
this.input.nativeElement......
}
}
Aqui está uma demonstração de trabalho:
https://stackblitz.com/edit/angular-viewchilddemo?file=src%2Fapp%2Fapp.component.ts
ngAfterViewInit()
ser disparado. Você precisa importar ViewChild
de '@ angular / core` ..
this.ipt.nativeElement.setAttribute('value', 'xxx');
mas nada acontece. E não existem métodos como value()
ou setValue()
, mesmo que eu o declare do tipo HTMLInputElement (estou baseando isso na sugestão de código / autocomplete do IDE). No meu caso, não me importo em ler o valor. Eu só preciso definir valores diferentes.
setProperty
também tentou ?
this.input.nativeElement.value = 'test'
funcionar ?! talvez haja comportamentos especiais com formulários e suas ligações.